任務很簡單,但我的經驗還不足以解決它。我需要在eventListiner中使用外部變量。現在,如果我嘗試使用外部變量,那麼我會得到「未定義」。看來這是通過關閉解決的,但我不能完全理解它是如何工作的。變量對事件監聽器的值
錯誤代碼:
function myfunc(){
title = "Head";
console.log(title);//Head
document.getElementById("test").onclick = function(){
console.log(title);//undefined
}
}
權代碼:
function myfunc(){
title = "Head";
console.log(title);//Head
document.getElementById("test").onclick = function(){
//some magic...
console.log(title);//Head
}
}
希望對你有所幫助。謝謝。
不幸的是你的答案沒有幫助。所有這些我都試過了,如果那是那麼簡單,我不會在這裏寫。不過,我已經自己做了:
function myfunc(){
function cls(it){
return function(){
console.log(it);
}
}
title = "head";
document.getElementById("test").addEventListener("click",cls(title), false);//head
}
謝謝你,至少你試圖幫助,併爲弊也謝謝。
除了評論「一些神奇......」這兩個代碼示例是相同的。如果您希望我們對差異發表評論,那麼這是毫無用處的 – musefan