3
我正在調試一些Javascript,它遭受了一點關閉麻煩 - 但似乎無法將「事件」參數傳遞給該函數。 這裏的問題(速記):關閉麻煩:將「事件」傳遞給命名函數
// let's say links.length == 3
for(var i = 0; i < links.length; i++){
links[i].onclick = function(e){
alert(i); //closure! all links alert "3"
// do something with "e"
}
}
這裏是我的解決方案
//workaround
// define function outside of loop
function outer(e,i){
return function(){
alert(i); //closure! all links alert "3"
// do something with "e"
}
}
for(var i = 0; i < links.length; i++){
links[i].onclick = outer(e,i); //uh oh! e = undefined???
}
在我的解決辦法,我已經定義了一個函數的循環,防止關閉外 - 但我無法通過「e」的說法。有人能指引我朝着正確的方向嗎?