Javascript获取事件ID

时间:2011-11-25 10:28:33

标签: javascript closures

我正在使用Javascript并在闭包中创建我的函数,我遇到的问题是获取用户按下的按钮的id。

以下代码在不在闭包中时起作用,但是当我将它置于其中时似乎不起作用。

请提供帮助,提前感谢您的帮助。

获取ID的代码......

var id = event.target.id;

封闭......

var closure = (function(){

    var id;

    return{
         getId: function(){

             id = event.target.id;

         }
    };
}());

1 个答案:

答案 0 :(得分:2)

您只是将id分配给某个值,但由于关闭,id无法访问。

您应该改为return该值,以便您可以获得结果并实际使用它:

getId: function() {
    return event.target.id;
}

您也不需要var id;,因为没有理由使用本地变量 - 您似乎只想获取当前ID。 id变量无法访问,并且您也无法在闭包内访问它,因此它在此处没有任何用途。