在为HTML元素添加监听的时候,我们为其绑定一个外部的函数,但是却容易犯错这样写监听:
item.addEventListener("tap", doSomething(index));
function doSomething(index) {
alert(index) //(这样写是错的)
}
这样做,你会发现函数在初始化页面就被调用了,而且点击事件无法调用函数。
这是由于addEventListener第二个参数接收的是function/函数,直接写函数名传参是无法识别为函数的,要传参就需要用闭包return一个function
正确写法如下:
item.addEventListener("tap", doSomething(index));
function doSomething(index) {
return function(){
alert(index)
}
}
版权属于:月琳cc
本文链接:https://kerrinz.com/archives/5.html
作品采用《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议》进行许可,转载请务必注明出处!