[英]YUI3: How would I trigger an event?
假设我在链接/按钮/等上有一个单击事件。
var myButton = Y.one('.button');
myButton.on('click', function() {
// code
});
我想在此按钮上触发点击事件,因此页面上发生了其他事情。 我该怎么做?
我看到了YUI3的fire()方法,但它看起来像是为自定义事件设计的。 如果我应该使用fire(),那么myButton.fire('click')
工作?
(我正在寻找等效于jQuery的.trigger()方法,该方法适用于DOM事件或自定义事件。)
如果您在yui3中寻找触发器的等效项,则可以尝试使用“模拟”
Y.one('button selector').simulate('click');
为了使上面的语句起作用,您将需要在use方法中添加“ node-event-simulate”汇总。
您是否真的需要触发按钮上的click事件? 采取以下HTML
<button id="myButton">Click Me</button>
<br>
<a href="#">Click Me</a>
您可以利用自定义事件将真实的逻辑放在中心位置。
YUI().use("node","event",function(Y){
Y.one("#myButton").on("click",function(){Y.fire("custom:doThing")});
Y.all("a").on("click",function(){Y.fire("custom:doThing")});
Y.on("custom:doThing",function(){console.log("Do my thing, regardless of event source")})
});
小提琴: http : //jsfiddle.net/WZZmR/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.