2012-07-02 12 views
5

私はカスタムイベントの引数を設定する方法を理解しようとしています。 イベントを購読するときに引数を設定し、イベントをトリガーするときに追加のデータを追加する方法。jQueryカスタムイベントデータ(購読とトリガー)

私はテスト用の単純なJSを持っていますが、 "handle"の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()に供給されるパラメータは、イベントハンドラ関数の2番目のパラメータとして渡されます。

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

ああ、ありがとう:)私はjQueryのチュートリアルでそれを逃した...ありがとうもう一度:) –

関連する問題