mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fixes #12518, removes an offsetWidth on focus/blur events for an <IE9 bug that caused a performance hit. Closes gh-958
This commit is contained in:
parent
a7a8aad4e3
commit
408e5e08c2
10
src/event.js
10
src/event.js
@ -327,8 +327,7 @@ jQuery.event = {
|
||||
// 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.
|
||||
// Don't do default actions on window, that's where global variables be (#6170)
|
||||
// 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 ) ) {
|
||||
if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {
|
||||
|
||||
// Don't re-trigger an onFOO event when we call its FOO() method
|
||||
old = elem[ ontype ];
|
||||
@ -339,7 +338,12 @@ jQuery.event = {
|
||||
|
||||
// Prevent re-triggering of the same event, since we already bubbled it above
|
||||
jQuery.event.triggered = type;
|
||||
elem[ type ]();
|
||||
try {
|
||||
elem[ type ]();
|
||||
} catch ( e ) {
|
||||
// IE<9 dies on focus/blur to hidden element (#1486,#12518)
|
||||
// only reproducible on winXP IE8 native, not IE9 in IE8 mode
|
||||
}
|
||||
jQuery.event.triggered = undefined;
|
||||
|
||||
if ( old ) {
|
||||
|
Loading…
Reference in New Issue
Block a user