2013-01-08 39 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

相關問題