点击链接的香草JS版jQuery文档?

这是一个纯粹的JS版本吗?

$(document).on('click', 'a[href]', function(event) { event.preventDefault(); here.change(this); }); 

我正在寻找的特定function是为以后通过JS(例如AJAX)创建的任何链接添加事件侦听器。

现代浏览器支持matches ,这使得这更容易

 document.addEventListener('click', function(event) { if (event.target.matches('a[href], a[href] *')) { event.preventDefault(); console.log('works fine') } }, false); document.body.innerHTML = 'Click Me!
not me!
';

您可以将click事件附加到document 。 检查event.target .tagName是否为"A"并且event.target是否具有属性.href 。 目前尚不清楚here.change(this)预期结果是从Question的文本中做到的

 function dynamicA() { var a = document.createElement("a"); a.href = ""; a.textContent = "a"; document.body.innerHTML += "
"; document.body.appendChild(a); } document.addEventListener("click", function(event) { event.preventDefault(); if (event.target.tagName === "A" && event.target.href) { // do stuff dynamicA(); } });
 a 

我相信这可以实现你想要的:

 // for all dom elements on click document.onclick = function(event) { var el = event.target; // get what is being clicked on if(el.hasAttribute('href') && el.tagName == 'a') { // check if it's a link event.preventDefault(); here.change(this); // what is this? } }