javascript - 当 elem 出现时,自动对焦无法正常工作

标签 javascript jquery html

当输入出现时,我没有自动对焦。 自动对焦属性在 Chrome 上会间歇性地起作用。 在 IE11 上...它甚至不会尝试添加它。

在使用 jQuery 应用自动对焦之前,我是否需要验证 DOM 上输入元素是否存在?

HTML5

<input type="text" class="form-control" autofocus placeholder="Filter">

JS

   function iboxHistorySearch() {
        var header = $('.client-history .ibox-title_replace'),
            searchbar = $('.client-history .client-history-searchbar'),
            closeBtn = $('.client-history .btn-dismiss');

        header.on('click', function (e) {
            e.preventDefault();
            if (searchbar.hasClass('hidden')) {
                searchbar.removeClass('hidden')find('form-control:first').focus();
                $(this).addClass('hidden');
            }
        });

        closeBtn.on('click', function (e) {
            e.preventDefault();
            if (header.hasClass('hidden')) {
                header.removeClass('hidden');
                searchbar.addClass('hidden');
            }
        });
    }

    iboxHistorySearch();

更新

searchbar.removeClass('hidden')find('form-control:first').focus();

最佳答案

来自(未经编辑的)问题:

var searchbar = $('.client-history .client-history-searchbar')

if (searchbar.hasClass('hidden')) {
    searchbar.removeClass('hidden').focus();

确保搜索栏是一个可以接收焦点的输入控件。如果没有,请添加 .find 来获取输入,可以是第一个元素,也可以是特定元素,例如:

    searchbar.removeClass('hidden')
             .find('.form-control:first')
             .focus();

    searchbar.removeClass('hidden')
             .find('input:first')
             .focus();

(但使用输入,您可能还需要添加复选框/选择等,例如)

    searchbar.removeClass('hidden')
             .find('input,select,textarea')
             .first()
             .focus();

关于javascript - 当 elem 出现时,自动对焦无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40507923/

相关文章:

jquery - 如何在 Bootstrap 的切换按钮中传递值

html - 子项样式与事件父项不同

html - 如何将按钮与 html 和 css 对齐?

javascript - 在 Firefox 中无法使用 JavaScript 下载 PDF

javascript - 输入数字时的货币掩码和格式

javascript - 两次创建一个对象会产生不同的结果

javascript - 进度条行为取决于复选框 bootstrap + jquery

javascript - 如何通过单击按钮来增加 SQL 查询的限制?

javascript - 如何将数据插入只有一位小数的highchart?

javascript - 更改 div onclick() 上的图像