js如何清除dom节点上的指定监听事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何清除dom节点上的指定监听事件?相关的知识,希望对你有一定的参考价值。

$('#myBtn').click(function()
alert('nihao');
);
document.getElementById("myBtn").onclick=null;
这是我写的一段代码,dom节点的onclick事件置为null后,为什么还是弹出“你好”,为什么?我不是已经把dom节点的click监听给清除了吗?如果这样不行,那我怎么彻底清除dom节点上指定的监听函数?

亲。你第一个“nihao” 用的jquery绑定的。 你删除不能用原生的javascript删除。
可以$('#myBtn').unbind("click")
如果是原生的javascript,添加事件用 addEventListener , attachEvent 和removeEventListener,detachEvent 添加和删除。
参考技术A $("#myBtn").bind("click",function()
alert("nihao");

);

$("#myBtn").unbind("click");追问

这种写法是局限在jquery框架下的,如果别人的网站是YUI写的,我想在chrome控制台清除一个dom节点的指定监听事件,就没有办法了。我喜欢用chrome调试研究别人的网站,我想从js底层去理解这个问题。

参考技术B 你写错了 用这句
document.getElementById("myBtn").onclick=“”;追问

也不行,不知道你测试了没?

追答

你浏览器问题

你浏览器问题

追问

我用的谷歌浏览器,不知道阁下用的是?

追答

IE10

以上是关于js如何清除dom节点上的指定监听事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用事件侦听器复制DOM节点?

高分请教,js的DOMNodeRemoved事件如何在删除节点之后才执行这个事件呢

怎样理解js中的事件监听

JS事件

JS-阻止冒泡事件与事件委托

话话js中的事件监听