1 2 3 4 | a.addEventListener( "click" , function (e) { e.preventDefault(); alert(2); }); |
这样的代码,我想在一次操作后注销这个事件怎么完成,如果不把给函数加上一个名字的话。而且还有可能出现这个样的场景,我在一个事件发生后想执行一个函数,这个函数是带参数的,但是addEventListener并不能执行带参数的具名函数,所以我的解决办法是在事件发生后执行一个函数表达式匿名函数,再这个函数表达式中执行那个具名的函数,还有更好的办法吗?这个问题跟上面那个结合起来,也就是说我没有办法用给那个函数表达式具名的方法来实现事件注销,除非我写一个没有参数的函数,再里面执行那个有参数的函数,但是这个又不优雅
1 2 3 4 5 6 7 8 9 10 | var a = 1; var b = 2; var c = 3; function fun1(a, b, c) { console.log(a + b + c); } var d4 = document.getElementById( "d4" ); d4.addEventListener( "click" , function () { fun1(a, b, c); }) |