1

有谁知道在 dom 级别触发单击带有 mootools 的元素的方法?

foo.fireEvent('click')例如,只会触发mootools 添加的事件,这对这个特定的应用程序不是很有帮助。

这是一个玩具示例-您可以看到单击顶部按钮将触发两个事件处理函数,而尝试使用下部按钮触发单击只会触发第二个函数。

http://jsfiddle.net/Tc4Bv/

任何帮助将不胜感激 - 谢谢!

4

1 回答 1

1

现代浏览器有一个Element.click可用的方法,所以你可以尝试这样的事情:

Element.implement({
    synteticClick: function() {
        var click = 'click';
        (this[click] && !(this[click]())) || this.dispatchEvent(new Event(click));
        return this;
    }
});

http://jsfiddle.net/dimitar/LUPYK/

在最新的 FF、Chrome、IE9 和 IE9 中以 IE7 模式(兼容)工作/测试。

请记住,事件对象可能是基本的,即缺少 clientX/Y 等 - 所以它在很大程度上取决于你在另一边做什么......

于 2012-06-13T10:17:45.200 回答