我是javascript并使用YUI雅虎库的新手。
http://developer.yahoo.com/yui/docs/YAHOO.util.CustomEvent.html
我试图了解CustomEvent类中的subscribe和fire方法。关于这些,我有两个问题
如果我误解了CustomEvent中的任何内容,请更正我。 :)
答案 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。