--- title: Window.captureEvents() slug: Web/API/Window/captureEvents tags: - API - Gecko - HTML DOM - Method - Non-standard translation_of: Web/API/Window/captureEvents ---
Window.captureEvents()
メソッドは、指定した種類のすべてのイベントをキャプチャするように、そのウィンドウを登録します。
window.captureEvents(eventType)
eventType
は、 Event.ABORT
, Event.BLUR
, Event.CLICK
, Event.CHANGE
, Event.DBLCLICK
, Event.DRAGDDROP
, Event.ERROR
, Event.FOCUS
, Event.KEYDOWN
, Event.KEYPRESS
, Event.KEYUP
, Event.LOAD
, Event.MOUSEDOWN
, Event.MOUSEMOVE
, Event.MOUSEOUT
, Event.MOUSEOVER
, Event.MOUSEUP
, Event.MOVE
, Event.RESET
, Event.RESIZE
, Event.SELECT
, Event.SUBMIT
, Event.UNLOAD
の値の組み合わせを取ります。
<!DOCTYPE html> <html lang="en"> <head> <!-- ... --> <script> function reg() { window.captureEvents(Event.CLICK); window.onclick = page_click; } function page_click() { alert('ページクリックイベントが検出されました!'); } </script> </head> <body onload="reg();"> <p>click anywhere on this page.</p> </body> </html>
ユーザーの操作によって DOM 内で発生したイベント (ボタンのクリックや現在の文書からのフォーカス移動など) は、通常、イベントを開始したオブジェクトに到達する前に、まず高レベルの window
や document
オブジェクトを通過します。
window
の captureEvents()
メソッドを呼び出すと、指定した種類のイベント (例えば Event.CLICK
) は、階層内の「下位」オブジェクトに通過しなくなります。イベントを通常のように「バブルアップ」させるためには、 window.releaseEvents()
({{deprecated_inline}}) を window 上で呼び出し、イベントをトラップしないようにしなければなりません。
なお、次の構文を使用することでこのメソッドにイベントのリストを渡すことができます。
window.captureEvents(Event.KEYPRESS | Event.KEYDOWN | Event.KEYUP)
.
どの仕様書にも含まれていません。