5

カスタムイベントの引数を設定する方法を理解しようとしています。イベントをサブスクライブするときに引数を設定し、イベントをトリガーするときに追加のデータを追加する方法。

テスト用の単純な 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();

ありがとうございました。

4

1 に答える 1

5

に指定され.trigger()たパラメーターは、イベント ハンドラー関数の 2 番目のパラメーターとして渡されます。

function handle(e, triggerParam) {
    //e.data has only "b"
    alert(e.data + ' also ' + triggerParam);
}
于 2012-07-02T14:22:39.533 に答える