zer*_*kms 4 javascript extjs extjs4 extjs4.1
我有一些琐碎的窗口:
this.window = Ext.widget('window', {
title: 'Find',
closeAction: 'hide',
width: 300,
layout: 'fit',
items: form
});
Run Code Online (Sandbox Code Playgroud)
琐碎的形式
var form = Ext.widget('form', {
layout: {
type: 'vbox',
align: 'stretch'
},
border: false,
bodyPadding: 10,
items: [
this.findInput,
]
});
Run Code Online (Sandbox Code Playgroud)
只有一个项目
this.findInput = Ext.widget('textfield', {
name: 'find'
});
Run Code Online (Sandbox Code Playgroud)
问题是:如何在窗口显示后立即设置焦点?我试图在几乎每个窗口事件处理程序中调用.focus()
方法而this.findInput
没有运气.
看起来甚至afterrender
在DOM完全创建所有元素之前同步调用.
我错过了什么?我应该绑定什么事件来渲染所有元素并能够接受焦点?
PS:如果我.focus()
在10ms之间的小间隔之后调用相同的内容- 我会把它集中注意力,但这不是解决方案
查看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