下面我给出了两种传递函数参数的方法。两者都适用于addEventListener
和removeListener
:
方法一:包装函数:
let myElement = document.getElementById('myId');
function wrapperFunction(e) {
myFunction(e, 5, 9); //define your function and pass arguments(5,9)
}
myElement.addEventListener('event', wrapperFunction);
myElement.removeEventListener('event', wrapperFunction);
注意:“e”事件是从“addEventListener”函数中免费获得的。
方法2:卷曲
var myFunction = function (arg1, arg2) {
return function curriedFunc(e) {
myFunction(e, arg1, arg2); // define your function and pass arguments(5,9)
};
};
let myElement = document.getElementById('myId');
let myRef = myFunction(5,9);
myElement.addEventListener('click', myRef);
myElement.removeEventListener('click', myRef);