javascript - jQuery focus() 不起作用

标签 javascript jquery

当用户单击网站上的搜索(放大镜)图标时,搜索栏会向下滑动进入 View 。搜索栏向下滑动后,我希望光标在搜索栏中开始闪烁,以便用户可以立即开始输入。但我无法让光标移至搜索栏。我已经尝试了一切我能想到的让它发挥作用!

The website (search icon is in the header)

jQuery 代码:

jQuery(document).ready(function() {
    //show/hide search bar on icon click
    jQuery('#search-icon').click(function(e) {
        e.preventDefault();
        jQuery('#mobile-nav').css('display','none');
        jQuery('#search-box').slideToggle('fast',function() {
            if (jQuery('#search-box').css('display') == 'block') {
                window.setTimeout(function() {
                    jQuery('#search-box').focus().val(jQuery('#search-box').val());
                }, 0);
            }
        });
    });
});

最佳答案

我更改了选择器 ID,它按照您的要求工作。查看下面的代码。

jQuery(document).ready(function() {
    //show/hide search bar on icon click
    jQuery('#search-icon').click(function(e) {
        e.preventDefault();
        jQuery('#mobile-nav').css('display','none');
        jQuery('#search-box').slideToggle('fast',function() {
            if (jQuery('#search-box').css('display') == 'block') {
                window.setTimeout(function() {
                    jQuery('#search-bar').focus().val(jQuery('#search-bar').val());  // changed selector to "search-bar". 
                }, 0);
            }
        });
    });
});

关于javascript - jQuery focus() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47668354/

相关文章:

javascript - HTML5 游戏、 Canvas 还是 div?

JavaScript RegExp 密码验证不起作用

php - 使用 jQuery AJAX 将 JSON 对象传递给 PHP

javascript - 如何将 ES6 默认参数从子类传递到其父类(super class)?

javascript - 检测到 :first-child support

javascript - 如何将网页不可用页面替换为自定义页面? (网络浏览)

jQuery 文件上传不使用 XHR 或 IFrame

javascript - 即使将 OnSubmit 设置为 False,HTML 表单也会提交

javascript - 使用 jQuery/JavaScript 替换字符串的一部分

jquery - 滚动模态,而不是正文