有没有人有一种确定事件是否发生的简单方法(JavaScript事件,或简单情况下,标记),单击DOM元素时的想法?确定点击某个元素时是否发生了什么
有什么可以检查的东西?例如,你可以检查一个<a>
标签,onclick
事件等
在更复杂的情况下,使用Javascript可能只是检测其中点击落在页面上取决于(采取行动,即该事件没有关联与一个元素,但整个页面,并且当点击发生时,它检查它落在哪个元素上)。
有没有人有一种确定事件是否发生的简单方法(JavaScript事件,或简单情况下,标记),单击DOM元素时的想法?确定点击某个元素时是否发生了什么
有什么可以检查的东西?例如,你可以检查一个<a>
标签,onclick
事件等
在更复杂的情况下,使用Javascript可能只是检测其中点击落在页面上取决于(采取行动,即该事件没有关联与一个元素,但整个页面,并且当点击发生时,它检查它落在哪个元素上)。
也许不是一个直接的答案,但VisualEvent是一个JS库,用于检查众多事件处理程序,包括本地处理程序和库处理程序。它是开源的,所以你可以看到他们是如何做到的。
这里的东西粗糙,我刚熟了起来:
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));
如果处理程序使用'addEventListener'连接,此外,图书馆http://jsfiddle.net/RXGLY/2/ – Joseph
@JosephtheDreamer固定它来检查的jQuery单击事件侦听器 –
仍然无法在本机,此方法将失败附加方法:'addEventListener',显然'attachEvent' http://jsfiddle.net/RXGLY/4/ – Joseph