Es extraño que nadie haya ofrecido una solución alternativa que utilice eventos burbujeantes
function callback(e) {
var e = window.e || e;
if (e.target.tagName !== 'A')
return;
// Do something
}
if (document.addEventListener)
document.addEventListener('click', callback, false);
else
document.attachEvent('onclick', callback);
Las ventajas de esta solución es que cuando se agrega dinámicamente otro anclaje, no es necesario para unirse específicamente a un evento para él, así que todos los enlaces siempre se disparará esto, incluso si se agregaron después de estas líneas fueron ejecutados. Esto está en contraste con todas las otras soluciones publicadas hasta ahora. Esta solución también es más óptima cuando tienes una gran cantidad de enlaces en tu página.
@ Márcio depende totalmente del caso de uso específico, no puede ser la solución más óptima. – zatatatata