JavaScript:如何将参数传递给最终将被删除的侦听器函数
我试图调用一个函数,该函数具有触发事件时所依赖的参数。但是,此函数不能是匿名的,因为侦听器将在将来被删除 我尝试为包装器使用函数表达式,并将对JavaScript:如何将参数传递给最终将被删除的侦听器函数,javascript,addeventlistener,removeeventlistener,Javascript,Addeventlistener,Removeeventlistener,我试图调用一个函数,该函数具有触发事件时所依赖的参数。但是,此函数不能是匿名的,因为侦听器将在将来被删除 我尝试为包装器使用函数表达式,并将对this的引用作为主函数中的参数传递: <div id="div"> click </div> 除了document.getElementById(“div”).removeEventListener(“单击”,wrapFunction)之外,一切正常行。这是我无法理解的部分,我将非常感谢您的帮助。与其将此传递给好函数(eve
this
的引用作为主函数中的参数传递:
<div id="div">
click
</div>
除了
document.getElementById(“div”).removeEventListener(“单击”,wrapFunction)之外,一切正常代码>行。这是我无法理解的部分,我将非常感谢您的帮助。与其将此
传递给好函数(event,foo,bar,This)
调用wrapFunction
内部,您只需传递wrapFunction
本身,因为它是在调用处理程序时定义的:
函数main(){
让foo=“foo”;
让bar=“bar”;
让wrapFunction=函数(事件){
/*wrapFunction已定义,因此直接将其传递给goodFunction*/
goodFunction(事件、foo、bar、wrapFunction);
}
document.getElementById(“div”).addEventListener(“单击”,包装函数);
}
函数goodFunction(e、foo、bar、wrapFunction){
警报(foo);
警报(bar);
document.getElementById(“div”).removeEventListener(“单击”,包装函数);
}
main()代码>
单击我