読者です 読者をやめる 読者になる 読者になる

focus, blur は W3C 的にも bubbles=no

DOM0イベントの focus と blur はバブルアップしてきません

http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents-h3

ブラウザのバグではなく、仕様的にそうなってます。うーん。ちなみに bubble = no は...

  • load
  • unload
  • blur
  • focus

とあります。じゃあどうすっかと思ったら、addEventListener がある環境では( IE 以外全部あると考えて良いですね)キャプチャリングフェーズで取ってしまえばいい。

無い環境、というか IE ですが、では逆に UIEvent の focusin と focusout というものが実装されているので、それを使うと。focusin/focusout は bubbles = yes になっています。