molily: location.href unter opera 7.1

Beitrag lesen

Hallo moe,

btw. was genau macht das return false ?

Bei einem Klick auf den Link wird normalerweise das Linkziel im href-Attribut angesprungen (soweit ist es klar, das ist die normale Funktion eines Links). Das Linkziel ist in diesem Fall leer beziehungsweise »#«, was ungefähr »springe zu einem nicht existierenden Anker« bedeutet und einige Browser wie »springe ganz nach oben« interpretieren (Opera übrigens nicht).
Wenn href-Attribut *und* onclick-Attribut bzw. onclick-Event-Handler für den Link angegeben sind, wird beides mehr oder weniger gleichzeitig ausgeführt: Das href-Linkziel wird annavigiert und der JavaScript-Code, hier im onclick-Attribut, wird ausgeführt. Wenn nun im JavaScript ebenfalls eine Navigationsänderung stattfindet, kommt Opera anscheinend durch das gleichzeitige Laden durcheinander. Das sieht man daran, dass die Fortschrittsleiste beim Klick auf den Link angezeigt wird, dann wieder für einige Millisekunden verschwindet und wieder angezeigt wird. Das href="#" unterbricht also anscheinend das Laden in den Frames (das Ausführen der Funktion wird ja nicht unterbrochen, schließlich wird der andere Befehl danach noch ausgeführt und auch wenn dort noch andere zeitintensive Befehle stehen).
return false verhindert ganz einfach, dass das Standardereignis beim Klick auf einen Link zusätzlich ausgeführt wird, nämlich das Anspringen des Linkziels. Das href-Attribut und damit die urspüngliche Funktion des Links wird also komplett übergangen.

Mathias