HTML5自动对焦无法在生成的视图上工作

时间:2014-08-11 17:30:14

标签: html5 autofocus

我正在使用EmberJS作为我的webapp,当我创建一个新记录(在编辑模式下设置)时,我的第一个字段(输入文本)具有autofocus =“autofocus”参数集。它首次在Chrome上运行时没有问题,但之后没有问题。

页面加载一次,因为它是一个Ember应用程序,并且在创建新记录时会重新生成视图(记录视图)。

知道如何解决此问题吗?

编辑: 我删除了自动对焦属性,并尝试使用Jquery focus(),如https://stackoverflow.com/a/14763643

App.FocusedTextField = Em.TextField.extend({
    didInsertElement: function() {
        this.$().focus();
    }
});

现在,即使是第一次也没有焦点。另外,如果我尝试用this.$().focus();替换this.$().hide();,则隐藏输入。控制台中的this.$()也会显示正确的输入,但focus()不起作用!

2 个答案:

答案 0 :(得分:1)

我会考虑将您的输入移动到视图或组件,然后在this.$().focus();函数中执行didInsertElement之类的操作。

答案 1 :(得分:0)

我遇到了与自动对焦完全相同的问题,但是.focus()函数确实对我有用。这是我的编码方式:

html:

<input type="text" id="idTextbox"/>

javascript:

$('#idTextbox').focus();