2011-11-25 5 views
1

자바 스크립트를 사용하고 있으며 클로저 내에서 함수를 작성하고 있는데 문제는 사용자가 누른 버튼의 ID를 얻는 것입니다.Javascript get event id

다음 코드는 클로저에 없을 때 작동하지만 내부에 배치하면 작동하지 않는 것 같습니다.

미리 도움을 청하십시오.

코드는 폐쇄 내

var id = event.target.id; 

... 당신은 단지 몇 가지 값 id을 할당하고

var closure = (function(){ 

    var id; 

    return{ 
     getId: function(){ 

      id = event.target.id; 

     } 
    }; 
}()); 
+0

"이벤트"변수는 Internet Explorer에서만 전역 변수입니다. – Pointy

+0

클로저의 어느 곳에서나 문서에 대한 참조가없는 것처럼 보이는 이유는 무엇입니까? Dunno 그래도, 그래도. – lfxgroove

답변

2

... ID를 얻을 수 있지만, id 인해 폐쇄에 액세스 할 수 없습니다. 당신은 결과를 얻을 실제로 사용할 수 있도록

대신 return 값을한다 :

지역 변수에 대한 이유가 없기 때문에 또한 var id; 필요하지 않습니다
getId: function() { 
    return event.target.id; 
} 

- 당신은을에 보인다 현재 ID를 얻고 싶습니다. id 변수는 아무데도 액세스 할 수 없으며 클로저에서도 액세스 할 수 없으므로 여기서 아무런 도움이되지 않습니다.