2012-04-14 4 views
1

제 애플리케이션에는 몇 가지 위젯이 있습니다. 사람이 변화를 가져 오면 다른 사람들도 변화해야합니다. 나는 그것들을 분리 시켰 으면 좋겠다. 너무 많은 자바 스크립트 프로그래밍을 한 적이 없기 때문에이 작업을 수행하는 일반적인 방법이 무엇인지 잘 모르겠습니다.자바 스크립트 레지스터 이벤트 리스너

jquery에 대기열 메커니즘이 있습니까? "prop X changed value Y"라는 이벤트를 게시 할 수 있으며 해당 대기열에 등록 된 모든 사람에게 알림을 보낼 수 있습니까? 아니면 자바 스크립트에서 이벤트를 처리하는 일반적인 방법이 아닌가요?

답변

3

jquery에서는 표준 이벤트와 동일한 메커니즘을 사용합니다.

//register listener for "widget" 
$("div#firstWidget").bind("myCustomEvent", function(e){ 
    alert(e.customFlag); 
}); 

//somewhere else trigger event on widget 
var e = $.Event("myCustomEvent"); 
e.customFlag = "customValue"; 
$("div#firstWidget").trigger(e); 

또한 글로벌 개최 emtpy JQuery와 객체를 생성 이벤트 버스와 파견 이벤트를 제공 할 수

window.myEventBus = $([]); 

//register listener 
myEventBus.bind("customEvent", function(e){ 
    //handle event 
}); 

//fire event 
myEventBus.trigger($.Event("customEvent", { numProp:5, boolProp:true })); 
관련 문제