0

Dojo Javascript ライブラリーで、dojo.connect または dojo.publish を使用してイベント・ハンドラーをイベントに接続する方法を理解しています。その機能はうまく機能します。

しかし、私はもう1つやりたいことがあります。

既に定義されている他のイベント ハンドラーよりも前に、イベント ハンドラーを最初に起動したいと考えています。これは「イベントハンドラーの挿入」などと呼ばれることがあると思います。

Dojo でそれを行う方法や、プレーンな Javascript で便利でエレガントな方法はありますか?

4

4 に答える 4

1

次のようにイベントを変更してみてください。

function alertTest(){
    alert('test');
}

function alertTest2(){
    alert('test2');
}

window.onload = alertTest2; //just setting it to simulate that an event
                            //is already set

oldOnload = window.onload; //store the old event into a temporary variable
window.onload = function() { //assign a new function to the event
    alertTest(); //whatever your "must happen first" function is
    oldOnload.apply(); //run the original event after
}
于 2009-02-10T19:32:37.790 に答える
0

イベントが発生すると、アクション(onload、onclick) に接続されます。では、他のアクションがトリガーされる前に、どのようにイベントを発生させるのでしょうか?

たとえば、いつonclickトリガーされるかわからない場合、イベントの前にどのようにイベントを発生させますか?

これは絶対にできないonloadことです。通常、他のすべてのイベントよりも前にトリガーされるイベントにハンドラーを登録したい場合があります。

于 2009-02-10T18:31:12.850 に答える
0

私の知る限り、イベント ハンドラーが DOM ノードにアタッチされると、ハンドラーの実行シーケンスは実装に依存します。

于 2009-02-11T08:22:50.887 に答える