Fix focus behavior during ui animations that require a wrapper.#411
Closed
clarabstract wants to merge 1 commit intojquery:masterfrom
Closed
Fix focus behavior during ui animations that require a wrapper.#411clarabstract wants to merge 1 commit intojquery:masterfrom
clarabstract wants to merge 1 commit intojquery:masterfrom
Conversation
Member
|
Hrm.... Wouldn't the Also, can you please adhere to the coding standards Particularly
|
Member
|
This should be using |
Author
|
Closing for further discussion in http://bugs.jqueryui.com/ticket/7595 - I ran into complications :/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When any kind of DOM manipulation occurs (replaceNode, insertChild etc), any elements being manipulated loose their focus status (as of Chrome 12, Firefox 5). I couldn't find any spec that clarifies why that is, but it does appear to happen consistently.
IMO, it's reasonable to expect end-users to deal with this during explicit DOM manipulation calls ($.html(), $ .after(), etc), but not necessarily so during an animation. The fact that jquery.ui animations end up performing DOM manipulations implicitly is not at all obvious to the user and thus the focus-loosing behavior is unexpected and worth avoiding.
This is probably not a very common use case but $.effects.removeWrapper really is the only place to fix it (there are no callbacks in which to detect the previously focused element) and the overhead doesn't strike me as terribly noticeable considering it only occurs at the end of an animation.
Cheers,