假设我在链接/按钮/等上有点击事件。
var myButton = Y.one('.button');
myButton.on('click', function() {
// code
});
页面上还有其他内容要我触发此按钮上的点击事件。我该怎么做?
我看到了YUI3的fire()方法,但它看起来像是为自定义事件而设计的。如果我应该使用fire(),那么myButton.fire('click')
会工作吗?
(我正在寻找相当于jQuery的.trigger()方法,该方法适用于DOM事件或自定义事件。)
答案 0 :(得分:3)
如果您在yui3中寻找等效的触发器,可以尝试使用'simulate'
Y.one('button selector').simulate('click');
要使上述语句起作用,您需要在使用方法中添加“node-event-simulate”汇总。
答案 1 :(得分:2)
您真的需要触发按钮上的点击事件吗?使用下面的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")})
});