Javascript Yahoo YUI库CustomEvent类-subscribe()和fire())

Javascript Yahoo YUI库CustomEvent类-subscribe()和fire()),javascript,yui,Javascript,Yui,我对javascript和使用YUI yahoo库相当陌生 我试图理解CustomEvent类中的subscribe和fire方法。关于这些,我有两个问题 调用fire方法时。它是否触发订阅该事件的所有函数 如何启动单个事件?subscribe方法接受参数“obj事件触发时要传递的对象”。因此 我可以只发射这个特定的物体吗 如果我误解了活动中的任何内容,请纠正我。:) 调用fire方法时。它启动了所有的功能吗 有人订阅了这个活动吗 自定义事件(发布者)触发,而不关心谁在侦听(订阅者)。 调用f

我对javascript和使用YUI yahoo库相当陌生

我试图理解CustomEvent类中的subscribe和fire方法。关于这些,我有两个问题

  • 调用fire方法时。它是否触发订阅该事件的所有函数
  • 如何启动单个事件?subscribe方法接受参数“obj事件触发时要传递的对象”。因此 我可以只发射这个特定的物体吗
  • 如果我误解了活动中的任何内容,请纠正我。:)

    调用fire方法时。它启动了所有的功能吗 有人订阅了这个活动吗

    自定义事件(发布者)触发,而不关心谁在侦听(订阅者)。 调用fire()方法会导致所有侦听器方法被激发

    如何启动单个事件

    您可以使用以下方式触发单个事件:

    var onCustomEvent = new YAHOO.util.CustomEvent('onCustomEvent');
    onCustomEvent.fire();
    
    subscribe方法接受参数“obj事件触发时要传递的对象” 有没有办法我只能发射这个特殊的物体

    您可以触发customEvent而不是对象, 传递对象用于传递参数,以便可以在subscribe方法中访问它们:

    onCustomEvent.fire({action:'fire'});
    onCustomEvent.subscribe(method);
    function method(event, arguments, obj) {
         var action= args[0].action;//action contains fire  
    }
    
    事件返回自定义事件的名称 arguments是在fire事件中传递的参数集
    obj是在subscribe方法中传递的参数。

    如果这是一个新项目,您应该使用。那么你可能会从中受益