2015-07-28 83 views
-1

什麼是下面的jQuery代碼使用JavaScript的等價物?Click元素等效於javascript

$("#id").on("click",function(event){alert(event.target.id);}); 

我知道我可以使用下面的代碼

document.addEventListener('click', function(e) { alert(e.target.id) }, false); 

但我想它限制在一個特定的ID,而不是整個文件。

+3

'的document.getElementById( '身份證')的addEventListener( '點擊',功能(E){警報(e.target.id。 )},false)' – Satpal

+0

[jQuery.click()vs onClick](http://stackoverflow.com/questions/12627443/jquery-click-vs-onclick) – Hacketo

+0

[mdn](https:// developer .mozilla.org/en/docs/Web/API/EventTarget/addEventListener):_The EventTarget.addEventListener()方法在指定的EventTarget上註冊指定的偵聽器。事件目標可以是文檔中的**元素**,**文檔**本身,**窗口**或任何其他支持事件**的對象(如XMLHttpRequest)._ – Grundy

回答

0

做這個

document.getElementById('id').addEventListener('click', 
function(e) 
{ 
    alert(e.target.id); 
}, false); 

最後一個參數是useCapture

參考 - W3SCHOOLS

true - 該函數在捕獲階段中執行。

false - 該函數在冒泡階段執行。 (默認)

不用擔心,因爲現在在所有瀏覽器中都是可選的。通過ID

+0

什麼的「虛假的意義「 最後??請讓我知道 –

+0

「接受」有用的答案是一種很好的做法,因爲它有助於將來訪問此問題的所有人。 –

0

爲元素,通過id選擇上附加一個事件處理程序,你可以這樣做:

document.getElementById('id').addEventListener('click', function(e) { 
    alert(e.target.id) 
}, false); 

注:false末是一個可選的參數BOOL捕獲,從MDN:

如果爲真,將useCapture指示用戶希望啓動捕獲。在啓動捕獲之後,指定類型的所有事件將被分派到註冊的偵聽器,然後被分派到DOM樹下的任何EventTarget。在樹中冒泡的事件不會觸發指定使用捕獲的偵聽器。

+0

whats 「虛假」的意義?請讓我知道 –

+0

用戶捕捉,你可以在這裏閱讀https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener – atmd

+0

更新的答案全部文檔,包括 – atmd

0

獲取元素,並附事件利斯特

document.getElementById('id').addEventListener('click', function(e) { 
    alert(e.target.id) 
}, false); 

在最後使用布爾是可選的。一個布爾值,指定事件是應在捕獲階段還是在冒泡階段執行。

欲瞭解更多信息 - addEventListener

0

試試這個:

var id = document.getElementById("id"); 

id.addEventListener("click", function(e) { 
    alert("hi"); 
},false);