在刚刚创建的窗口中设置文本输入的焦点
Set focus for text input in just created window
我有一个微不足道的窗口:
this.window = Ext.widget('window', {
title: 'Find',
closeAction: 'hide',
width: 300,
layout: 'fit',
items: form
});
里面有琐碎的形式
var form = Ext.widget('form', {
layout: {
type: 'vbox',
align: 'stretch'
},
border: false,
bodyPadding: 10,
items: [
this.findInput,
]
});
只有一个项目
this.findInput = Ext.widget('textfield', {
name: 'find'
});
问题是:如何在显示窗口后立即设置焦点?我试图在几乎每个窗口事件处理程序中调用.focus()
this.findInput
的方法,但没有运气。
似乎在 DOM 完全创建所有元素之前,甚至afterrender
同步调用。
我错过了什么?我应该绑定到什么事件才能呈现所有元素并能够接受焦点?
PS:如果我在 10ms 等小间隔后调用相同的.focus()
- 我会让它集中,但这不是解决方案
查看activeItem
属性 - http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Panel-cfg-activeItem
或者您也可以使用 defaultFocus
: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.window.Window-cfg-defaultFocus
相关文章:
- 正确输入的文本会更改图像
- 带静态字符e输入的文本框数字和带javascript的负整数
- 文本输入与文本区域
- 如何将表格中的文本添加到使用按钮输入的文本区域
- 使用jQuery重置文本,同时存在AJAX调用
- 不带按钮的引导输入组文本占用一半空间
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小
- 不允许输入或聚焦的输入类型文本
- HTML.如何检查用户是否在表单中输入了文本
- 正确输入的文本会更改图像
- 根据输入禁用文本框
- 获取innerHTML,但输入和文本区域都为空
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- JQuery/JavaScript - 突出显示输入或文本区域中的一部分文本
- 如何使用 Angularjs 使流式处理更改输入中输入的文本
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 在里面输入新文本后更新文本区域内容的值
- 如何将删除标记替换为输入类型文本
- 我可以重置文本输入而不清除它吗
- 输入后重置文本区域