Die oberste Antwort ist eine sehr schlechte Praxis, man sollte niemals auf einen leeren Hash verweisen, da dies später zu Problemen führen kann.
Am besten ist es jedoch, einen Ereignishandler an das Element zu binden, wie zahlreiche andere Personen erklärt haben, <a href="javascript:doStuff();">do stuff</a>
funktioniert in jedem modernen Browser einwandfrei, und ich verwende es häufig beim Rendern von Vorlagen, um zu vermeiden, dass ich für jede Instanz neu binden muss. In einigen Fällen bietet dieser Ansatz eine bessere Leistung. YMMV
Ein weiteres interessantes Detail....
onclick
& href
haben unterschiedliche Verhaltensweisen, wenn sie Javascript direkt aufrufen.
onclick
wird passieren this
Kontext korrekt, während href
nicht, oder mit anderen Worten <a href="javascript:doStuff(this)">no context</a>
nicht funktionieren wird, während <a onclick="javascript:doStuff(this)">no context</a>
wird.
Ja, ich habe das href
. Obwohl dies nicht der Spezifikation entspricht, funktioniert es in allen Browsern, obwohl es idealerweise eine href="javascript:void(0);"
obendrein
7 Stimmen
Diese Frage wurde bereits früher erörtert: stackoverflow.com/questions/245868/
2 Stimmen
Y stackoverflow.com/questions/134845/