2009-07-08 4 views
0

マウスイベントのすべてのイベントがいつ発生したのかを知りたい。は、マウスイベントからのすべてのイベントが発生したときを検出しますか?

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

クリックから発生したすべてのイベントが完了したらどうすればよいですか?

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

答えて

0

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

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

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

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

+0

ご意見ありがとうございます。 ppkのサイトでは、イベントをリストにまとめるためにタイムアウトが使用されています(log.endとその呼び出し方法を参照)。 – jedierikb

+0

心配しなくても、私は助けてくれてうれしいです。あなたは、タイマーからlog.end()が呼び出されたことは間違いありません。しかし、log.msg()はリストに出力する関数です。 log.end()は、特にエントリが追加されるたびにログが下にスクロールされるようにします。 –

関連する問題