Hi,
Klar, vom Layout her werden <span> und <a> ziemlich identisch sein, daher wird zuerst das onclick event des <span> feuern und danach auch noch der Link aufgerufen.
das Layout ist zu exakt 0% relevant. Es geht hier ums Event-Bubbling, welches die Reihenfolge der Aktionen bestimmt. Ein 'return false' im onclick-Eventhandler des <span>-Objekts wird hierbei die eigentliche Klickaktion unterbinden, die mit dem <span>-Element verknüpft ist - mit anderen Worten: Es macht gar nichts, da ein Klick auf ein <span> normalerweise eben gar nichts tut oder tun soll.
Vergiss das <span>, gib den onclick dem Link (der als href die Adresse für ohne JavaScript hat) und dann sollte es auch mit dem return false; (ohne "="!) klappen.
Das ist auch semantisch sinnvoller. Es soll eine Ressource verlinkt sein, und im Falle einer bequemeren Möglichkeit soll diese genutzt werden. Ergo ist ein Link da, der mit einem sinnvollen JavaScript bestückt wird, welches den Klick abfängt und Bequemeres tut (falls der Client die entsprechenden Fähigkeiten innerhalb von JavaScript beherrscht).
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes