1

domレベルでmootoolsを使用して要素のクリックをトリガーする方法を知っている人はいますか?

foo.fireEvent('click')たとえば、mootoolsによって追加されたイベントのみを起動しますが、これはこの特定のアプリケーションにはあまり役立ちません。

おもちゃの例をいじくりまわします。上のボタンをクリックすると両方のイベントハンドラー関数が起動し、下のボタンを使用してクリックをトリガーしようとすると、2番目の関数のみが起動することがわかります。

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、およびIE7モードのIE9およびIE9で動作/テストされています(互換性)。

イベントオブジェクトは基本的なものである可能性があることに注意してください。つまり、clientX / Yなどがないため、反対側で何をするかに大きく依存します。

于 2012-06-13T10:17:45.200 に答える