2011-11-25 36 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變量無法訪問,並且您也沒有在閉包中訪問它,所以它在這裏不起任何作用。