2015-07-28 80 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);