【问题标题】:replace $.off() removeEventListener of a element [duplicate]替换元素的 $.off() removeEventListener [重复]
【发布时间】:2015-04-28 17:48:01
【问题描述】:

我想删除一个元素上的所有事件监听器,它只是通过 jquery:

$("#myEl").off()

现在由于某种原因我必须禁用 jQuery 库并使用 vanilla js。

只是为了替换,我用

el = document.getElementById("myEl")
el.removeEventListener(eventType) //for all listeners
of the type
el.removeEventListener() //for all listeners

好像不行,有没有简单的方法可以做到这一点?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

要删除元素上的所有eventListeners,最好的方法是克隆元素。如果你想使用removeEventListener(),你必须提供要移除的事件类型和函数。

这是一个如何克隆元素以删除所有事件侦听器的示例:

var oldElement = document.getElementById("myEl");
var newElement = oldElement.cloneNode(true);
oldElement.parentNode.replaceChild(newElement, oldElement);

【讨论】:

    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 2021-03-03
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    相关资源
    最近更新 更多