Javascript onclick事件声明

时间:2014-09-09 15:50:45

标签: javascript

我正准备在javascript中为我的元素设置onclick事件,但我想知道这两个选项中哪一个更有效:

document.getElementById(myid).onclick = function(e){...}

document.body.onclick = function(e){if(e.target.id == myid)...}

有什么区别吗?其中一个声明处理速度较慢吗?

2 个答案:

答案 0 :(得分:1)

建议您使用AddEventListener而不是绑定到OnClick。

至于效率,我不确定你在担心什么。如果它的表现你应该衡量你的问题并解决这些问题,而不是想知道可能的细节。

答案 1 :(得分:1)

如果你使用document.body.onclick = function(e){if(e.target.id == myid)...},你正在听所有鼠标点击,包括按钮,链接,ecc ecc。这可能会降低您的网站速度(特别是在移动设备或旧计算机上)。

使用document.getElementById(myid).onclick = function(e){...}并不好,但我建议您使用document.getElementById('...').addEventListener("event", function(event) {...});