mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
2fadbc0a98
If during a focus handler another focus event is triggered:
```js
elem1.on( "focus", function() {
elem2.trigger( "focus" );
} );
```
due to their synchronous nature everywhere outside of IE the hack added in
gh-4279 to leverage native events causes the native `.focus()` method to be
called last for the initial element, making it steal the focus back. Since
the native method is already being called in `leverageNative`, we can skip that
final call.
This aligns with changes to the `_default` method for the `click` event that
were added when `leverageNative` was introduced there.
A side effect of this change is that now `focusin` will only propagate to the
document for the last focused element. This is a change in behavior but it also
aligns us better with how this works with native methods.
Fixes gh-4382
Closes gh-4813
Ref gh-4279
(cherry picked from commit
|
||
---|---|---|
.. | ||
ajax.js | ||
animation.js | ||
attributes.js | ||
basic.js | ||
callbacks.js | ||
core.js | ||
css.js | ||
data.js | ||
deferred.js | ||
deprecated.js | ||
dimensions.js | ||
effects.js | ||
event.js | ||
exports.js | ||
manipulation.js | ||
offset.js | ||
queue.js | ||
ready.js | ||
selector.js | ||
serialize.js | ||
support.js | ||
traversing.js | ||
tween.js | ||
wrap.js |