2013-01-08 36 views
0

有没有人有一种确定事件是否发生的简单方法(JavaScript事件,或简单情况下,标记),单击DOM元素时的想法?确定点击某个元素时是否发生了什么

有什么可以检查的东西?例如,你可以检查一个<a>标签,onclick事件等

在更复杂的情况下,使用Javascript可能只是检测其中点击落在页面上取决于(采取行动,即该事件没有关联与一个元素,但整个页面,并且当点击发生时,它检查它落在哪个元素上)。

回答

0

也许不是一个直接的答案,但VisualEvent是一个JS库,用于检查众多事件处理程序,包括本地处理程序和库处理程序。它是开源的,所以你可以看到他们是如何做到的。

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)); 

http://jsfiddle.net/RXGLY/3/

+0

如果处理程序使用'addEventListener'连接,此外,图书馆http://jsfiddle.net/RXGLY/2/ – Joseph

+0

@JosephtheDreamer固定它来检查的jQuery单击事件侦听器 –

+0

仍然无法在本机,此方法将失败附加方法:'addEventListener',显然'attachEvent' http://jsfiddle.net/RXGLY/4/ – Joseph

相关问题