No sé si lo que intento lograr es posible. Me gustaría sobrescribir el comportamiento predeterminado para todos los objetos de anclaje (etiqueta A
) para una página HTML determinada. Sé que puedo recorrer todos los elementos de A
y agregar dinámicamente una llamada onclick
a cada uno de ellos desde el método de elemento de cuerpo onload
, pero estoy buscando una solución más absoluta. Lo que necesito es que todos los A
elementos se les asigna una acción onclick
que llama a un método que pasa la propiedad elemento href
como argumento, por lo que el siguiente:Anula el comportamiento predeterminado para los objetos de enlace ('a') en Javascript
<a href="http://domain.tld/page.html">
convierte dinámicamente:
<a href="http://domain.tld/page.html" onclick="someMethodName('http://domain.tld/page.html'); return false;">
Como he dijo, la forma ideal de hacer esto sería anular de algún modo la clase Anchor cuando se carga el documento. Si no es posible, recurriré al método de los elementos de A
en loop-through-all (que ya sé cómo hacer).
Bueno, con la delegación de eventos, no todos necesitan tener el evento pegado en ellos. Consulte "En vivo" en jQuery, por ejemplo. O lee sobre la delegación de eventos de JavaScript. – Nosredna
Normalmente, esto debería hacerse al HTML antes de que llegue al cliente. Si su página es compleja, puede encontrarse con muchos programas con delegación de eventos. – Ben
En realidad, para el evento de "clic" esperaría menos problemas con la delegación.Son cosas como rastrear el mouse lo que te matará. – Nosredna