当点击DOM元素时,是否有人对确定某事是否发生(javascript事件,或简单情况下,标记)的万无一失的方法有想法?
要检查的事情有哪些可能性?例如,您可以检查<a>
标记,onclick
事件等。
在更复杂的情况下,Javascript可能只是检测点击落在页面上的位置并根据具体情况采取行动(即事件与元素无关,而是整个页面,当点击发生时,它会检查它落在了它上面。
答案 0 :(得分:0)
也许不是一个直接的答案,但VisualEvent是一个JS库,可以检查大量的事件处理程序,包括本机和库附加的处理程序。它是开源的,所以你可以看到他们是如何做到的。
答案 1 :(得分:0)
这是我刚刚做过的粗略事情:
HTML(返回false):
<a id="link">Blah</a>
HTML(返回true):
<a id="link" href="">Blah</a>
使用Javascript:
var thelink = document.getElementById("link");
//$(thelink).on("click",function(){alert('boom');});
function hasClickHandler(element) {
if (typeof element.onclick == "function") {
return true;
}
if (element.href) {
return true;
}
if(window.jQuery)
{
if($._data(element, "events") && $._data(element, "events").click)
return true;
}
return false;
}
alert(hasClickHandler(thelink));