【问题标题】:Input text wouldn't take autofocus after created dynamicaly on FF在 FF 上动态创建输入文本后不会自动对焦
【发布时间】:2012-12-27 14:38:43
【问题描述】:

我单击一个跨度,使用autofocus 属性创建输入文本(我也尝试使用 autofocus="focus")。

在 Chrome、Opera、Safari 甚至 IE 上,输入文本会自动对焦,但只有 Firefox 不会自动对焦(我在 FF V 16 和 18 上测试过)

无论如何我不得不为其他浏览器做回退,所以我通过 jQuery 添加了焦点,但是,在创建输入后,FF 不会接受它。

这就是我通过 jQuery 添加它的方式:

<span onclick=" createdTextInput('idOffline','edit'); 
$(function(){ $('#idOfCreatedInput').focus(); });" title=""> clickMe </span>

我在新创建的 Input 上调用 focus()。

我什至尝试过使用如下选择器:

 $(function() {$('[autofocus]').focus()});

 $('input[type="text"]').focus();

【问题讨论】:

    标签: jquery firefox autofocus


    【解决方案1】:

    试试这个:

    $('#idOfCreatedInput').trigger('focus')
    

    【讨论】:

    • 我不熟悉“on”属性,但在我看来,您的代码是用于在我的元素获得焦点时执行某些操作,但我试图做的是将焦点放在新创建的元素
    • 编辑我的答案,现在如果你调用 trigger it focus 来创建它
    • 感谢您的回答,但没有任何改变,它仍然拒绝获得焦点..我做错了什么..?
    • 你能做一个jsfiddle吗? jsfiddle.net
    【解决方案2】:

    我用setTimeout()autofocus 上的选择器修复了它,因为输入ID 不起作用..

    setTimeout(function() {
      $("[autofocus]").focus(); 
    }, 0);
    

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 1970-01-01
      • 2020-02-07
      • 2013-02-27
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多