我想替换为:
for( var i=0; i<elementArray.length; i++ )
elementArray[i].click(function(){
console.log("element clicked - selectedElementIndex = " + i);
});
与类似:
for( var i=0; i<elementArray.length; i++ )
elementArray[i].click( onElementClick(i) );
function onElementClick( i ){
console.log("element clicked - selectedElementIndex = " + i );
}
我该怎么做 ? :)
最佳答案
由于(据我所知)点击处理程序无法接受参数,因此您需要使用范围内的变量来创建一个函数,其外观应如下所示:
for( ... ) {
elementArray[i].click( onElementClick(i) );
...
}
function onElementClick( id ){
return function() {
console.log("element clicked - selectedElementIndex = " + id );
}
}