2012-03-20 52 views
0

我是相当新的javascript和使用YUI库雅虎。雅虎YUI库自定义事件类 - 订阅()和火()

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

我想了解的自定义事件类的订阅和火的方法。我有两个关于这些问题

  1. 当火法被调用。它是否激发订阅该事件的所有功能?
  2. 如何触发一个单独事件?订阅方法采用参数“obj当事件触发时要传递的对象”。那么有没有 一种方式,我可以只触发这个特定的对象?

纠正我,如果我误解的自定义事件东西。 :)

回答

0

当消防方法被调用。是否大火, 订阅了该事件的全部功能?

自定义事件(发布者)触发而不关心正在监听的用户。 调用消防()方法会导致所有的监听器方法被炒鱿鱼。

如何触发一个单独事件?

您用火的个人事件:

var onCustomEvent = new YAHOO.util.CustomEvent('onCustomEvent'); 
onCustomEvent.fire(); 

的订阅方法采用参数“OBJ的对象一起事件触发时获得通过。”所以 有没有一种方法可以只触发这个特定的对象?

您可以触发的自定义事件不是对象, 传递对象用于传递参数,以便他们能在订阅方法访问:

onCustomEvent.fire({action:'fire'}); 
onCustomEvent.subscribe(method); 
function method(event, arguments, obj) { 
    var action= args[0].action;//action contains fire 
} 

事件返回自定义事件的名称 参数是一套在火灾事件 OBJ是在订阅方法传递的参数传递的参数。