2014-02-22 92 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');