我正准备在javascript中为我的元素设置onclick事件,但我想知道这两个选项中哪一个更有效:
document.getElementById(myid).onclick = function(e){...}
或
document.body.onclick = function(e){if(e.target.id == myid)...}
有什么区别吗?其中一个声明处理速度较慢吗?
答案 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) {...});