Non so se ciò che sto cercando di realizzare è possibile. Vorrei sovrascrivere il comportamento predefinito per tutti gli oggetti di ancoraggio (tag A
) per una determinata pagina HTML. So che posso scorrere tutti gli elementi A
e aggiungere dinamicamente una chiamata onclick
a ognuno di essi dal metodo body body onload
, ma sto cercando una soluzione più assoluta. Che cosa ho bisogno è che tutti A
gli elementi vengono assegnati un onclick
azione che chiama un metodo che passa la proprietà elemento href
come argomento, quindi il seguente:Ignora comportamento predefinito per gli oggetti di collegamento ('a') in Javascript
<a href="http://domain.tld/page.html">
diventa dinamico:
<a href="http://domain.tld/page.html" onclick="someMethodName('http://domain.tld/page.html'); return false;">
Come ho detto, il modo ideale per fare questo sarebbe in qualche modo scavalcare la classe Anchor quando il documento viene caricato. Se non è possibile, ricorro al metodo degli elementi loop-through-A
(che so già come fare).
Bene, con la delega degli eventi non tutti hanno bisogno di avere l'evento attaccato su di loro. Vedi "Live" in jQuery, per esempio. O leggi sulla delega degli eventi JavaScript. – Nosredna
In genere questo dovrebbe essere fatto al codice HTML prima che raggiunga il client. Se la tua pagina è complessa potresti incontrare molti programmi con delega degli eventi. – Ben
In realtà, per l'evento "clic" mi aspetterei meno problemi con la delega.È cose come rintracciare il topo che ti ucciderà. – Nosredna