ブラウザによる違い †
イベントモデルの種類 †
種類 | IE以外 | IE | 説明 | DOMレベル0 | o | o | HTML4標準。IE以外とIEで若干異なる部分がある。 | DOMレベル2 | o | x | aaa | IE独自 | x | o | |
DOMレベル0 †
- ページ要素の属性として onXXXX という形式のイベントハンドラを指定
- 属性名は全て小文字だけにする(例:onload)
- イベントオブジェクトへのアクセス方法
- IE ... window.event
- IE以外 ... イベントを表すオブジェクトがイベントハンドラ関数の引数として渡される
DOMレベル2 †
- 任意のオブジェクトの任意のイベントに対して、複数のイベントハンドラを登録することが可能
- 各オブジェクトが以下の3つのメソッドを持っている
- addEventListner?
- removeEventLIstner
- dispatchEventListner?
IE独自のイベントモデル †
- 各オブジェクトが以下の2つのメソッドを持っている
- attachEvent ... addEventLister?相当
- detachEvent ... removeEventLister?相当
- IEのイベントモデルでは、各イベントハンドラにメモリが割り当てられるため、ページをロードする度にメモリが割り当てられる
イベントの取得 †
フォーム関連 †
全角入力 †
CompositionEvent? †
- IMEによるテキスト編集監視に用いるイベント
- 半角入力時は当然発火しない
- compositionstart ... IMEで未確定文字列の入力を開始した時
- compositionupdate ... IMEで編集中のテキストが変更された時
- compositionend ... IME確定時
キー関連 †
ボタン関連 †
イベントの優先順位 †
- Netscape, Firefox, Opera, Safari では onmousedown→onmouseup→onclick→onmousedown→onmouseup→ondblclick の順にイベントが発生
- Internet Explorer のみイベント発生順序が異なり、onmousedown→onmouseup→onclick→onmousedown→ondblclick→onmouseup の不規則な順でイベントが発生
トラブルシューティング †
|