當事件發生時,會動態產生一個 event 物件,事件操控器可以由此物件讀取事件的資訊。
event 的方法
initEvent
設定基本事件組(Event, HTMLEvents)之事件的初值,此事件必須先用 createEvent() 產生。在發動(dispatch)事件前,要先設定事件的初值。其語法是:
事件.initEvent(型態, 上傳旗, 取消旗)
- 型態:物件型態名稱。基本事件組有以下型態:abort, change, error, load, reset, resize, scroll, select, submit, unload。
- 上傳旗:設為 true,則事件可以向上傳遞。
- 取消旗:設為 true,則事件可以取消。
- 上例中,IE 用 fireEvent();Firefox, Safari, Chrome 用 dispatchEvent()。
initKeyEvent
設定鍵盤事件組(KeyboardEvent)之事件的初值,此事件必須先用 createEvent() 產生。在發動(dispatch)事件前,要先設定事件的初值。其語法是:
事件.initKeyEvent (型態, 上傳旗, 取消旗, viewArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg)
- 型態:物件型態名稱。鍵盤事件組有以下型態:keydown, keyup。
- 上傳旗:設為 true,則事件可以向上傳遞。
- 取消旗:設為 true,則事件可以取消。
- viewArg:指定 UIEvent.view。可設為 null。
- ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg:設定組合鍵,可設為 true, false。
- keyCodeArg:設定按鍵碼。
- charCodeArg:設定獨角碼。
- 上例中,IE 用 fireEvent();Firefox 用 dispatchEvent();Safari, Chrome 沒支援。
initMouseEvent
設定滑鼠事件組(MouseEvent, MouseEvents)之事件的初值,此事件必須先用 createEvent() 產生。在發動(dispatch)事件前,要先設定事件的初值。其語法是:
事件.initMouseEvent(型態, 上傳旗, 取消旗, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
- 型態:物件型態名稱。滑鼠事件組有以下型態:click, dblclick, mousedown, mouseup, mouseover, mousemove, mouseout。
- 上傳旗:設為 true,則事件可以向上傳遞。
- 取消旗:設為 true,則事件可以取消。
- view:指定抽象視區。可設為 window。
- detail:設定滑鼠按鍵次數。
- screenX, screenY:設定螢幕座標。
- clientX, clientY:設定展現區座標。
- ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg:設定組合鍵,可設為 true, false。
- button:滑鼠鍵。
- relatedTarget:次目標。
- 上例中,IE 用 fireEvent();Firefox, Safari, Chrome 用 dispatchEvent()。