我正在为我的网络应用程序使用 EmberJS,当我创建新记录(在编辑模式下设置)时,我的第一个字段(输入文本)设置了 autofocus="autofocus"参数。它第一次在 Chrome 上运行没有问题,但之后就不行了。
页面加载一次,因为它是一个 Ember 应用程序,当我创建新记录时, View (记录 View )正在重新生成。
知道如何解决这个问题吗?
编辑: 我已经删除了 autofocus 属性,并且只尝试像 https://stackoverflow.com/a/14763643 中那样使用 Jquery focus()
App.FocusedTextField = Em.TextField.extend({
didInsertElement: function() {
this.$().focus();
}
});
现在,连第一次都没有焦点。此外,如果我尝试将 this.$().focus();
替换为 this.$().hide();
,则输入会被隐藏。控制台中的 this.$()
也显示了正确的输入,但是 focus()
不起作用!
最佳答案
我会考虑将您的输入移动到 View 或组件,然后在 didInsertElement
函数中执行类似 this.$().focus();
的操作。
关于HTML5 自动对焦不适用于生成的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25249060/