0

假设我在链接/按钮/等上有一个点击事件。

var myButton = Y.one('.button');

myButton.on('click', function() {
   // code
});

页面上发生了其他事情,我想在此按钮上触发点击事件。我该怎么做?

我看到了 YUI3 的 fire() 方法,但它看起来像是为自定义事件设计的。如果我应该使用fire(),那么会myButton.fire('click')起作用吗?

(我正在寻找与 jQuery 的 .trigger() 方法等效的方法,该方法适用于 DOM 事件或自定义事件。)

4

2 回答 2

3

如果您正在 yui3 中寻找等效的触发器,您可以尝试使用“模拟”

Y.one('button selector').simulate('click');

要使上述语句起作用,您需要在使用方法中添加“node-event-simulate”汇总。

于 2013-10-16T00:30:49.330 回答
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")})
});

小提琴:http: //jsfiddle.net/WZZmR/

于 2013-10-14T16:30:22.577 回答