【问题标题】:Force focus on input element in Firefox (focus function alternative?) [duplicate]强制关注Firefox中的输入元素(焦点功能替代?)[重复]
【发布时间】:2017-08-19 13:44:23
【问题描述】:

我正在尝试添加一个始终处于焦点位置的输入框,因此即使您单击网站上的其他位置并开始输入,它仍会在该框中输入。 我找到了一个适用于谷歌浏览器的解决方案,就是在输入元素中添加这个属性:onblur="this.focus()",只要元素没有聚焦,它就会聚焦该元素。

但它不适用于 Firefox,所以我发现有人说这有效:

$('#command').on('blur', function () {
    $('#command').focus();
});

但这也没有用。 'blur' 事件触发,但 focus() 不起作用。我发现“onblur”事件有效,导致问题的部分是函数 focus() 本身。那么有没有其他方法可以使输入框聚焦?

这是一个例子:

<input autofocus onblur="this.focus()" placeholder="This is focused.">
<input placeholder="Can't focus on this.">
Works with Chrome, but not Firefox. The input box won't even be autofocused?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    尝试强制点击输入。

    $('#command').trigger('click');

    编辑

    令人惊讶的是,强制点击不起作用,并且添加隐藏标签并强制点击绑定到输入的标签也不起作用;

    你可能不喜欢这样,但 setTimeout 可以工作..

    setTimeout(function() {$('#command').focus();},1)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-30
    • 2019-03-13
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    相关资源
    最近更新 更多