removeEventListener而不引用事件处理程序

时间:2012-08-22 17:57:22

标签: javascript events javascript-events

我想知道是否可以在不引用应删除的事件处理函数的情况下删除事件侦听器。

Jquery的$().unbind('touchmove')将无效,因为事件监听器是使用Javascript的addEventListener('touchmove', handlerFunction)添加的,而不是Jquery的bind函数。

removeEventListener('touchmove')似乎不起作用,这与javascript函数规范一致

2 个答案:

答案 0 :(得分:0)

您可以获取DOM元素的所有事件监听器,并删除一个/全部:

var eventlistener = getEventListeners(window)["DOMContentLoaded"][index];
window.removeEventListener("DOMContentLoaded", eventlistener.listener, eventlistener.useCapture);

根据以下答案得出:https://stackoverflow.com/a/26845805/712700

答案 1 :(得分:-2)

您应该始终将事件添加到特定对象,以便稍后访问它们,请尝试此操作。

添加:

window.addEventHandler( 'touchmove', function );

删除:

window.removeEventListener( 'touchmove', function );