Je ne sais pas si ce que j'essaye d'accomplir est possible du tout. Je voudrais remplacer le comportement par défaut pour tous les objets d'ancrage (balise A
) pour une page HTML donnée. Je sais que je peux parcourir tous les éléments A
et ajouter dynamiquement un appel onclick
à chacun d'entre eux à partir de la méthode onload
de l'élément de corps, mais je cherche une solution plus absolue. Ce que j'ai besoin est que tous les A
éléments sont-ils assignés une action onclick
qui appelle une méthode qui passe l'élément href
propriété comme argument, donc ce qui suit:Remplacer le comportement par défaut des objets link ('a') en Javascript
<a href="http://domain.tld/page.html">
devient Dynamiquement:
<a href="http://domain.tld/page.html" onclick="someMethodName('http://domain.tld/page.html'); return false;">
Comme je l'ai dit, la façon idéale de le faire serait de remplacer en quelque sorte la classe Ancre lorsque le document se charge. Si ce n'est pas possible, je vais utiliser la méthode des éléments en boucle A
(que je sais déjà comment faire).
Eh bien, avec la délégation d'événements, ils n'ont pas tous besoin d'avoir l'événement collé sur eux. Voir "Live" dans jQuery, par exemple. Ou lisez sur la délégation d'événements JavaScript. – Nosredna
Typiquement, cela devrait être fait pour le HTML avant qu'il ne se rende au client. Si votre page est complexe, vous pourriez rencontrer beaucoup de programmes avec la délégation d'événements. – Ben
En fait, pour l'événement "click" je m'attendrais à moins de problèmes avec la délégation.C'est comme suivre la souris qui va te tuer. – Nosredna