3

私はMootoolsを使用していて、リンクにクリックイベントを追加しています。これでイベントに関数を追加しました:

$('addCallRoute').addEvent('click', addCallRoute); // Add button

関数には次のものが含まれます。

function addCallRoute(e) {
    console.log(e);
}

イベントを発生させる関数(実際のクリックなしで)

$('addCallRoute').fireEvent('click');

問題: リンクを物理的にクリックすると、eが定義されます。しかし、プログラムでイベントを発生させると、eundefinedです。なんで?

4

1 に答える 1

4

アクションを実際に/物理的にトリガーするのではなく、リモートで起動するためです。これがその仕組みです。

event通常、アクションがトリガーされた要素に関するあらゆる種類の情報が含まれています。

eventメソッドを使用する前に、が定義されているかどうかを常に確認してください。またはこれを行います:

link.fireEvent('click', {
    stop: function(){}
});
于 2012-09-24T20:23:38.890 に答える