WEBサイトの製作、管理、とかの日記ブログです。

<<   2023年05月   >>
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031   
新着記事
カテゴリ
過去ログ
コメント
検索
IE9は結構標準仕様になってるんだね
IE9がwindow.addEventListener()に対応してるのを知ったんで、
wheditorの修正とかしたんだけど、
window.getSelection()なんかも実装されて、
かなり標準規格の動作できるようになってるね。

今まではIE判別にdocument.all見ることが多かったが、
IEにしかない機能を使いたい場合は別だが、
標準仕様のコードを優先的に使いたい場合は、
document.allじゃなくてwindow.addEventListenerの有無を調べたほうが良さそう。
Operaも巻き添えしなくて済むし。


あと、
今までaddEventListenerの第三引数のuseCaptureの意味良くわかってなかったんだが、
DOMのイベントってのは、
イベント発生時に一番外(親要素)の要素から調べていって、
イベントが設定されている場合は順番に記憶していって、
一番内側(子要素)まで確認終わったら、
設定されていたイベント処理を、後ろから順に処理していく。
って感じなんだね。
つまり、
一番外側の要素から確認していって、一番内側の要素から処理される。
親要素と子要素に同じイベントが設定されてたら、子要素が先に処理される。

なんだが、
useCaptureがtrueの場合は、確認した時点で即処理される。
つまり、一番外側の要素から処理されていく。
子要素に同じイベントが設定されてても先に処理される。

だから、
親要素にuseCaptureがtrueのイベントを設定して、
event.stopPropagation()でイベントを停止すれば、
親要素から子要素のイベントを無効化したりできる。

attachEventじゃできないことができたりするね。

この記事へのコメント
名前:
URL
コメント:
この記事へのトラックバック :
whblog 1.7