我有一个包含方法的对象。这些方法被放置在匿名函数内部的对象中。它看起来像这样:
var t = {};
window.document.addEventListener("keydown", function(e) {
t.scroll = function(x, y) {
window.scrollBy(x, y);
};
t.scrollTo = function(x, y) {
window.scrollTo(x, y);
};
});
(有很多代码,但这已足以显示问题)
现在我想在某些情况下停止事件侦听器。 因此,我正在尝试进行removeEventListener,但我无法弄清楚如何执行此操作。 我已经在其他问题中阅读到,无法对匿名函数调用removeEventListener,但在这种情况下也是这样吗?
我在匿名函数内创建了一个方法,因此我认为这是可能的。 看起来像这样:
t.disable = function() {
window.document.removeEventListener("keydown", this, false);
}
为什么我不能这样做?
有没有其他(好的)方法可以实现这个功能?
额外信息:这只需要在Safari中运行,因此不支持IE浏览器。
(Elem.setUserData('eventListener', function(e){console.log('Event fired.');}, null);
,然后执行 Elem.addEventListener('event', Elem.getUserData('eventListener'), false); ... 同样适用于removeEventListener。希望你能看明白这个过程。 - Chase