Javascript 如何通过EventTarget原型将数据传递给自定义事件?

Javascript 如何通过EventTarget原型将数据传递给自定义事件?,javascript,event-handling,custom-events,Javascript,Event Handling,Custom Events,下面我将使用EventTarget原型创建自定义事件。在我的示例中,需要修改此EventTarget对象以将数据返回到onDataEvent侦听器: o.onDataEvent("foo", function(data){ var dataRetrieved = data.message; //retrieve data object passed to fire function console.log(dataRetrieved); //undefined alert

下面我将使用EventTarget原型创建自定义事件。在我的示例中,需要修改此EventTarget对象以将数据返回到onDataEvent侦听器:

o.onDataEvent("foo", function(data){
    var dataRetrieved = data.message; //retrieve data object passed to fire function
    console.log(dataRetrieved); //undefined
    alert("Foo just happened.");
});
因此,我在JSFIDLE中做了一个要点,在这里我重写了发送事件的EventTarget.fire函数,以接受数据的第二个参数

还修改了onDataEvent签名以包含数据参数。这里的想法是,除了调用eventfoo之外,我还将向事件返回一些数据

我知道事件是通过侦听器[I]调用的;但我不清楚如何在.call中传递数据

问题:

如何通过EventTarget原型将数据传递给自定义事件

这是该代码的要点:

在调试期间,我验证了使用此模式调用事件,如您在上面的小提琴中所看到的。

将数据作为侦听器传递[I]。调用此,事件,数据

然后在你的听众中做:

o.onDataEvent("foo", function(event, data){
    console.log(data);
});

好的,我明白了,要直接匹配事件定义,只返回params中的数据,看起来是的。