2008年09月15日
IEのイベント実行順序は不定?
IEのattachEventの実行順序
一番最後に追加されたイベントから一番最初に追加されたイベントにさかのぼるように実行される。
なので上記のコードでは2→1
addEventListenerとattachEventでは実行される順番が違う at HouseTect, JavaScriptな情報をあなたに
これ、イベントが3件以上登録されていると、逆順でもないようです(10件登録して実行すると、3→2→4→6→8→10→9→7→5→1 になる)。何度リロードしても同じ順番なので何らかの法則性はあるみたいですが、どういう規則なのかよくわかりません…。ちなみに、prototype.jsを使わずに直接attachEvent()を書いた場合は、2→3→5→7→9→10→8→6→4→1 とまた違う順番になってますます意味不明。
これ、外部ライブラリとかユーザスクリプトを使うときに、ページ本来のスクリプトが終了後に新しいイベントが追加されることを保証したい場合とかはどうすればいいんでしょうね…。
トラックバック - http://d.hatena.ne.jp/inamenai/20080915/p1
リンク元
- 415 http://hisasann.com/housetect/2008/09/addeventlistenerattachevent.html
- 48 http://d.hatena.ne.jp/language_and_engineering/20081011/1223680300
- 27 http://www.google.co.jp/search?hl=ja&q=javascript+実行順&lr=&aq=6&oq=javascript じっこう
- 23 http://www.google.co.jp/search?hl=ja&q=javascript+イベント 順番 実行&lr=lang_ja
- 22 http://www.google.co.jp/search?q=javascript+イベント+順序&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 22 http://www.google.co.jp/search?q=javascript+実行順序&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 16 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=b7D&q=IE+JavaScript+実行順&btnG=検索&lr=lang_ja
- 16 http://www.google.co.jp/search?hl=ja&lr=&q=javascript+実行+順序&revid=1114280410&sa=X&oi=revisions_inline&resnum=1&ct=broad-revision&cd=9
- 16 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GFRD,GFRD:2008-15,GFRD:ja&q=イベント+実行+順序
- 14 http://search.yahoo.co.jp/search?p=javascript+イベント+順序&search.x=1&fr=top_ga1&tid=top_ga1&ei=UTF-8
