2011-11-25 40 views
1

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

下面的代码在闭包中不工作,但是当它放在里面时它似乎不起作用。

请帮助,在此先感谢您的任何帮助。

代码来获取ID ...

var id = event.target.id; 

封闭内...

var closure = (function(){ 

    var id; 

    return{ 
     getId: function(){ 

      id = event.target.id; 

     } 
    }; 
}()); 
+0

“事件”变量只是Internet Explorer中的全局变量。 – Pointy

+0

你似乎没有对闭包中任何位置的文档进行引用,因此可能是为什么?不过,尽管如此 – lfxgroove

回答

2

你只是分配给id一定价值,但id不可访问,由于关闭。

而应该return值,这样就可以得到的结果和实际使用它:

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

你也不需要var id;,因为没有理由为一个局部变量 - 你似乎只是想要获得当前的ID。 id变量无法访问,并且您也没有在闭包中访问它,所以它在这里不起任何作用。