我需要将一个函数附加到resize事件,但是如果函数有参数则它不起作用,如果我在匿名函数中执行函数它会起作用,但是我无法将侦听器删除为他们没有提到它。
这是我的代码:
addEvent(window, 'resize', self.center(e) ); // Doesn't work
addEvent(window, 'resize', function() { // Does work but can't remove the listener
self.center(e);
});
'addEvent'只是一个简单的跨浏览器事件监听器函数。我没有得到任何错误,事件就是不会发生。
请不要jQuery回答。
修改
addEvent功能:
function addEvent(elem, event, fn) {
if(elem.addEventListener) {
elem.addEventListener(event, fn);
} else {
elem.attachEvent('on' + event, fn);
}
}