JavaScript functie in href vs. onclick

Ik wil een eenvoudige JavaScript functie uitvoeren op een klik zonder enige omleiding.

Is er een verschil of voordeel tussen het plaatsen van de JavaScript oproep in het href attribuut (zoals dit:

<a href="javascript:my_function();window.print();">....</a>

) vs. het in het onclick attribuut te zetten (binden aan de onclick gebeurtenis)?

Oplossing

De onclick binnen de href plaatsen zou beledigend zijn voor hen die sterk geloven in de scheiding van inhoud en gedrag/actie. Het argument is dat je html inhoud uitsluitend op inhoud gericht moet blijven, niet op presentatie of gedrag.

De typische weg deze dagen is het gebruik van een javascript bibliotheek (bijv. jquery) en maak een event handler met behulp van die bibliotheek. Het zou er ongeveer uitzien als:

$('a').click( function(e) {e.preventDefault(); /*your_code_here;*/ return false; } );
Commentaren (6)

Naast alles hier, wordt de href getoond op de statusbalk van browser's, en onclick niet. Ik denk dat het's niet gebruiksvriendelijk om javascript code daar te tonen.

Commentaren (0)

Persoonlijk vind ik het vervelend om javascript in de HREF tag te zetten. Ik let er meestal niet echt op of iets een javascript link is of niet, en wil vaak dingen in een nieuw venster openen. Wanneer ik dit probeer met een van dit soort links, krijg ik een lege pagina met niets erop en javascript in mijn locatiebalk. Echter, dit is een beetje omzeild door het gebruik van een on-klik.

Commentaren (0)