2014-02-22 2 views
0

간단한 pub/sub API를 구현하기 위해 다음 코드를 작성했습니다.pub/sub API가 작동하지 않습니다.

(function ($) { 
    var o = $({}); 

    $.each({ 
     trigger: 'trigger', 
     on: 'listen', 
     off: 'stopListen' 
    }, function (key, val) { 
     jQuery[val] = function() { 
      //console.log(o[key]); 
      o[key].apply(o, arguments); 
     } 
    }); 
})(jQuery); 

$.trigger('watch'); 

$.listen('watch', function (e, data) { 
    alert('Watch it'); 
}); 

그러나, 위의 코드는 Watch it 경고하지 않습니다. 왜 작동하지 않으며 어떻게 해결할 수 있습니까?

답변

2

트리거하기 전에 이벤트를 청취해야합니다. 다음 순서로 실행 해보십시오.

$.listen('watch', function (e, data) { 
    alert('Watch it'); 
}); 

$.trigger('watch'); 
관련 문제