Skip to content

bug with focus() method in a specific case in 3.4.0 #4382

@zdravkov

Description

@zdravkov

Hi all,

I just noticed and odd change in the behavior of the focus method in jQuery 3.4.0 compared with 3.3.1, 2.**, and 1.. versions in a specific case when we try to change the focus to the child element in focusin event of its parent. Here is the code and here you can see a code dojo with the issue:

        <span>Check the console</span>
        <div id="toolbar" tabindex="0">
                 <a tabIndex="0" id="foo" >foo</a>
        </div>
        <script>
            $(document).ready(function () {
                var toolbar = $('#toolbar');

                toolbar.on("focusin", function (ev) {
                        var element = $(this).find("a");

                        if (element.length) {
                            element[0].focus();
                            console.log(document.activeElement)
                        }
                    })

                toolbar[0].focus();
                //toolbar[0].focus(); this works

                console.log('With 3.3.1 here we expect to see "foo":', document.activeElement.id);

            });
        </script>

If we use older version or the native focus() method the issue is not present.

Greetings.
Plamen

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions