2012-07-02 209 views
5

我想弄清楚,我可以如何設置自定義事件的參數。 如何在訂閱事件時設置參數,然後在觸發事件時添加一些附加數據。jQuery的自定義事件數據(訂閱和觸發器)

我有一個簡單的JS測試,但在「處理」的e參數我只看到訂閱的數據。

function handle(e) { 
    //e.data has only "b" 
    alert(e.data); 
} 

function myObj() { 
    this.raise = function() { 
      //Trigger 
     $(this).trigger("custom", { a: "a" }); 
    } 
} 

var inst = new myObj(); 
//Subscribe 
$(inst).bind("custom", { b: "b" }, handle); 
inst.raise(); 

謝謝。

+0

只是一個提示。這裏提醒會給你''[object Object]和[object Object]'''。使用'''console.log(e.data,'also',triggerParam)'''會顯示瀏覽器控制檯中的實際對象; – PHearst

回答

5

提供給.trigger()的參數作爲事件處理函數的第二個參數傳遞。

function handle(e, triggerParam) { 
    //e.data has only "b" 
    alert(e.data + ' also ' + triggerParam); 
} 
+0

啊謝謝:)我錯過了jQuery教程...再次感謝:) –

相關問題