【问题标题】:How to forcibly set focus on an input field?如何强制将焦点设置在输入字段上?
【发布时间】:2018-04-16 15:23:27
【问题描述】:

当同一个网页中有另一个输入字段(稍后加载)并从另一个输入字段窃取焦点时,如何强制将焦点设置在 html 元素(输入字段)上?第二个输入字段是 iFrame 的一部分。

两个输入字段都是独立的(没有一个是另一个的父级),所以我不能在这里使用 event.stopPropagation() 方法。

【问题讨论】:

  • 您是否尝试将其设置在 $(document).ready 或 document.onload 上?
  • 是的,我试过了。焦点仍然转移到另一个输入字段。
  • 只需将.focus() 放在文档就绪功能的最底部即可..

标签: javascript jquery html


【解决方案1】:

第一次模糊时使用blur事件将其偷回来,然后使用focus()重新调整焦点

$("#my-input").one("blur", function() {
    $(this).focus();
});

https://jsfiddle.net/kcuL1aec/

是的,那是.one 而不是.on,所以它只发生一次。

【讨论】:

    【解决方案2】:

    尝试使用Focus 函数。文档完全加载后,只需使用您最喜欢的选择功能来获取 html 元素,然后执行element.focus()

    【讨论】:

    • 我曾尝试使用此功能设置焦点。该元素有几分之一秒的焦点,然后焦点在整个页面加载时消失。
    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多