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

时间:2012-03-20 10:25:55

标签: javascript yui

我是javascript并使用YUI雅虎库的新手。

http://developer.yahoo.com/yui/docs/YAHOO.util.CustomEvent.html

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

  1. 调用fire方法时。它会触发订阅该事件的所有函数吗?
  2. 如何解雇个别活动? subscribe方法接受参数“obj当事件触发时要传递的对象”。那是有的 我只能触发这个特定物体的方式吗?
  3. 如果我误解了CustomEvent中的任何内容,请更正我。 :)

2 个答案:

答案 0 :(得分:0)

  

调用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  
}

event返回自定义事件的名称 arguments是在fire事件中传递的参数集 obj是在subscribe方法中传递的参数。

答案 1 :(得分:0)

如果这是一个新项目,您应该使用YUI3。然后,您可能会受益于this documentation