我正在使用Javascript并在闭包中创建我的函数,我遇到的问题是获取用户按下的按钮的id。
以下代码在不在闭包中时起作用,但是当我将它置于其中时似乎不起作用。
请提供帮助,提前感谢您的帮助。
获取ID的代码......
var id = event.target.id;
封闭......
var closure = (function(){
var id;
return{
getId: function(){
id = event.target.id;
}
};
}());
答案 0 :(得分:2)
您只是将id
分配给某个值,但由于关闭,id
无法访问。
您应该改为return
该值,以便您可以获得结果并实际使用它:
getId: function() {
return event.target.id;
}
您也不需要var id;
,因为没有理由使用本地变量 - 您似乎只想获取当前ID。 id
变量无法访问,并且您也无法在闭包内访问它,因此它在此处没有任何用途。