views:

103

answers:

1
  • In non-IE browsers:
    • The change event bubbles, so you can catch it when it gets to document in the bubbling phase.
    • The focus and blur events don't bubble, but you can catch them on the capture phase with one event listener on document.
  • On IE:
    • None of those 3 events bubble (including the change event, which is not spec compliant).
    • There is no capture phase on IE.

So, as far as I know, the only way on IE is to register an event listener for change, focus, and blur on every form control. This operation can be expensive when you have a lot of controls. But is there a better way?

+1  A: 

jQuery 1.4 defines 'focusin' and 'focusout' to capture focus and blur events for all browsers.

Randal Schwartz
1.4 also fakes out a `change` event that "bubbles".
Crescent Fresh