diff options
author | Dave Methvin <dave.methvin@gmail.com> | 2011-09-10 14:46:58 -0400 |
---|---|---|
committer | timmywil <timmywillisn@gmail.com> | 2011-09-19 15:42:32 -0400 |
commit | 06e56acb0d6f3d183389d3bcb7dfb54b7ae7c220 (patch) | |
tree | da5fe110ec73c5bbefd4aa16d4223bd1c76e4d6f | |
parent | 4030de9519e91fdc247af3c508a8ede277242c3f (diff) | |
download | jquery-06e56acb0d6f3d183389d3bcb7dfb54b7ae7c220.tar.gz jquery-06e56acb0d6f3d183389d3bcb7dfb54b7ae7c220.zip |
Narrow the invisible-element embargo to focus/blur events.
-rw-r--r-- | src/event.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/event.js b/src/event.js index ea9882d05..0376e49af 100644 --- a/src/event.js +++ b/src/event.js @@ -35,8 +35,9 @@ var rnamespaces = /\.(.*)$/, }, useNativeMethod = function( event ) { // IE throws error on focus/blur of a hidden element (#1486) - if ( !event.isDefaultPrevented() && this[ event.type ] && event.target && event.target.offsetWidth !== 0 ) { - this[ event.type ](); + var type = event.type; + if ( !event.isDefaultPrevented() && this[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) ) { + this[ type ](); return false; } }; @@ -385,10 +386,10 @@ jQuery.event = { !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction)() check here because IE6/7 fails that test. + // Can't use an .isFunction() check here because IE6/7 fails that test. // Don't do default actions on window, that's where global variables be (#6170) - // IE<9 dies on focus to hidden element (#1486) - if ( ontype && elem[ type ] && elem.offsetWidth !== 0 && !jQuery.isWindow( elem ) ) { + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { // Don't re-trigger an onFOO event when we call its FOO() method old = elem[ ontype ]; |