Sie müssen auch das Ereignisargument in der Funktion angeben. Indem Sie es als e
oder event
benennen, können Sie es manipulieren.
Dies ist die einzige Lösung, die ich entwickeln konnte und die in allen Desktop- und mobilen Browsern mit verschiedenen Client-UI-Bibliotheken und -Frameworks konsistent funktioniert. Indem wir die Fensterkoordinaten vor dem Scrollen erhalten, können wir die aktuelle Scroll-Position wiederherstellen und beibehalten.
%Vor%Um only den "Sprung" zu verhindern, müssen Sie eine andere ID für das Zielelement verwenden als im Anker angegeben.
z.B. für einen Link zu einem neuen Tab benutzen,
%Vor%und für das Zielelement die ID
maskieren %Vor%Dann fügen Sie in Ihrem Skript die Maske dem echten Hash hinzu und verwenden Sie sie, um das Element zu erhalten.
%Vor% Dadurch werden die Änderungen des Hash-Standorts im Browserverlauf beibehalten, die durch die Schaltflächen zum Zurück- / Vorrücken gesteuert und beim Laden der Seite mit dem hashchange
-Ereignis erkannt werden, wenn der Benutzer die Seite mit angegebenem Hash eingibt.
Sie sollten ein onclick-Ereignis anhängen und als Ergebnis return false;
angeben.
Die return false;
-Anweisung bewirkt, dass das Standard-Klickverhalten (Sprung) nicht funktioniert.
Weitere Informationen finden Sie hier: So deaktivieren Sie den Anker " Springen "beim Laden einer Seite?