Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何取消订阅事件的回调?_Javascript - Fatal编程技术网

Javascript 如何取消订阅事件的回调?

Javascript 如何取消订阅事件的回调?,javascript,Javascript,在JavaScript中,我们可以向body的onload或按钮的onclick添加多个函数。如果我们有函数的引用,是否可以删除其中一个 如果可能,如何在jQuery和普通JavaScript中实现同样的功能?是的,但这取决于处理程序最初是如何连接的 如果使用了addEventListener,则可以使用解除绑定 如果使用jQuery,则可以使用 如果使用了attachEvent,则可以使用 如果您使用了onclick或其他onxxx函数,您可以通过分配null,f.exelem.onclick

在JavaScript中,我们可以向body的onload或按钮的onclick添加多个函数。如果我们有函数的引用,是否可以删除其中一个


如果可能,如何在jQuery和普通JavaScript中实现同样的功能?

是的,但这取决于处理程序最初是如何连接的

如果使用了
addEventListener
,则可以使用解除绑定

如果使用jQuery,则可以使用

如果使用了
attachEvent
,则可以使用


如果您使用了
onclick
或其他
onxxx
函数,您可以通过分配
null
,f.ex
elem.onclick=null

来删除它们。这只是一个规范吗?或者它受到主流浏览器的支持。你看过我链接到的页面了吗?它解释了这一点。还请注意,使用jQuery,您可以使用
.off()
.unbind()
。即使在不使用addEvent Listener的情况下添加事件,它也可以工作吗?如果我将其添加到按钮的一次单击中,那么我可以在removeEvent Listener中传递同一元素类型的“click”。否。请参阅David的答案以获得解决方案。谢谢。这意味着我需要确定事件是如何添加的。@AmoghtalPalikar是的。使用jQuery之类的库是目前为止跨浏览器处理事件最方便的方法。