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()的参数作为事件处理函数的第二个参数传递。

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