任务很简单,但我的经验不足以解决它。我需要在 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
}
谢谢您,至少您试图提供帮助,也感谢您的缺点。