Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Event: Make focus re-triggering not focus the original element back
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 dbcffb3)
- Loading branch information
IMHO it's an incorrect approach to check event args:
I would prefer to move such checks out of the event handler and use a variable so 'assert' will be executed always.
Something like this: