答案 0 :(得分:0)
Chrome具有getEventListeners
,您可以通过EventTarget
并返回一个对象,该对象具有每种类型的侦听器的属性,并带有一组侦听器。换句话说,如果某个元素上有click
和mousedown
个侦听器,则getEventListeners(someElement)
返回
{
click: [{...}], // array of click listeners
mousedown: [{...}], // array of mousedown listeners
}
数组中的每个条目都有
listener: ƒ (), // the listener function
once: false, // true or false if once was passed in
passive: false, // true or false if the listeners is passive
type: "click", // the type of listeners (which is kind of redundant)
useCapture: true, // true or false if use capture was passed in
According to MDN页面上的removeEventListener
,仅传递类型,侦听器函数和useCapture来删除事件是很重要的。
因此,这将从JavaScript控制台中删除附加到window
的副本侦听器
getEventListeners(window).copy.forEach(l => {
window.removeEventListener(l.type, l.listener, l.useCapture);
});
您还可以在devtools中删除事件监听器