2011-09-24 3 views
0

여러 이벤트 발생을 방지하려고합니다.jquery bind stoppropagation 콜백 컨텍스트

나는이 같은 개체를 전달하는 콜백 함수를 사용하고 있습니다 :

function init() { 

    var myObj = this.someObject; 

    $('#id').bind("blur keyup change", function (e, obj) { 
     return function() { 
      SomeFunction(e, obj); 
     } 
    } (this, myObj)); 

} 

function SomeFunction(e, obj) { 
    e.stopPropagation(); 
    //do something with the object 
} 

오류는 함수 인 stopPropagation을 찾을 수 있다는 것입니다.

이것은 'this'를 호출 함수에서 e에 지정하기 때문입니다.

SomeFunction에서 '이벤트'에 액세스하려면 어떻게해야합니까?

답변

1

난 당신이 이런 식으로 뭔가를 할 수있을 거라 생각 :

+0

당신을 감사이 댓글을 무시하세요. 이것은 객체를 올바르게 전달하는 방법을 이해하는 데 정말로 도움이되었습니다. 나는 이제 문맥에 문제가있어, 나는 더 이상 'e'를 통해 루트 변수에 접근 할 수 없다. http://jsfiddle.net/W47Ky/1/ 참조하십시오. e.nameid에 액세스하기 전에는 정의되지 않았습니다. –

+0

나는 그것을 알아 냈다. 나는 함수에 ctx를 전달해야했다. http://jsfiddle.net/W47Ky/2/ –