有沒有人有一種確定事件是否發生的簡單方法(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