0

マウスイベントのすべてのイベントがいつ発生したか知りたいです。

たとえば、ドキュメントと要素にリスナーを登録し、要素をクリックすると、複数のイベントが発生する可能性があります(結果のイベントがバブリングしている場合はさらに多くなります)。

そのクリックに起因するすべてのイベントがいつ完了したかをどのように知ることができますか?

このサイトは、これを行う1つの方法を提供します。時間間隔で新しいイベントでリストを更新することにより、マウスイベントをリストにクラスター化します。私はタイマーなしの自動化された方法を望んでいました。

4

1 に答える 1

0

すべてのイベントが完了した後にコードを実行したいだけの場合は、値 0 のタイムアウトを使用する必要があります。

window.setTimeout(function ()
{
    // All events have finished, so we can run our code now
}, 0);

Javascript のタイマーは同じスレッドで実行されるため、他の Javascript コードが実行されている間はカウントされません。タイマーをカウント 0 に設定すると、スレッドがアイドル状態になったときに実行されます。

あなたが言及したサイトは、時間間隔でそのリストを更新しません。実際には、これらすべてのオブジェクトのハンドラーを使用して、イベントが発生するたびにそのリストを更新します。時間間隔を使用してイベントをキャッチすることはできません。

于 2009-07-08T08:47:40.180 に答える