如何用JavaScript移除div元素的onclick点击事件?
移除inline onclick事件的正确方法
你用removeEventListener无效的原因是:通过HTML属性onclick="doSmt(var1, bar2)"绑定的事件,和用addEventListener注册的事件不属于同一机制,removeEventListener只能移除后者。
要移除这种inline绑定的点击事件,有两种简单有效的方式:
- 直接将元素的
onclick属性设为null:
if (condition) { document.getElementById('box').onclick = null; }
- 或者将
onclick设为空字符串:
if (condition) { document.getElementById('box').onclick = ""; }
如果你的变量box已经是获取到的DOM元素(比如之前用const box = document.getElementById('box')获取过),直接用box.onclick = null也可以。
内容的提问来源于stack exchange,提问作者emm.1
相关产品推荐
相关产品推荐

