2013-01-03 3 views
0

하십시오 조언 내부 전역 함수, 내가JS 전화 function`s 기능

내가 (이것을 연결하는 방법을 잘 모릅니다 '의 기능) B의 함수의 내부의 A() 함수()를 호출하는 것을 시도하고있다 기능. JS this에서

d = function(){ 
    var self = this; 

    this.a = function(){}; 
    this.b = function(){ 
     x.hover(function(){ self.a() }); 
    } 
} 

함수를 호출하는 방법에 따라 설정되고, 당신이 x.hover()에 전달 익명 함수 내에서 당신이 기대하는 것이 아니다 :

d = function() { 
     this.a = function() {} 

     this.b = function() { 
      x.hover(function() { this.a() }); 
     } 
    } 
+2

java! = javascript –

+0

!! 죄송합니다. 그것을 알지 못했습니다 ... 태그를 제거했습니다 ... – Till

+1

'd' 함수 안에'this'에 대한 참조를 저장해야합니다. 'var me = this;''me.a();' – Shmiddty

답변

3

여기 그것을하는 하나의 방법입니다 . 단순히 this에 대한 참조를 유지하고 그 것을 사용하십시오.

추가 읽기 : MDN's this page.

+0

고맙습니다. 나는 시험했다. 그러나 그것은 일을 didnt한다.. 내가 더 한층 점검해야하는지 조언을 해주세요? 나는 경고()를 설정했다. self.a() 실행 전과 후에; 경고는 지나간 후지나 갔다. – Till

+0

@ShinanTillTominaga 코드로 바이올린을 게시 할 수 있습니까? – hayavuk

+0

아마도 내 문제를 발견 할 수 있습니다. 대단히 감사합니다 !!!! – Till