【发布时间】:2012-06-19 00:19:22
【问题描述】:
我有一个简单的窗口:
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'
});
问题是:如何在窗口显示后立即设置焦点?我试图在几乎每个窗口事件处理程序中调用this.findInput 的.focus() 方法,但没有成功。
似乎在 DOM 完全创建所有元素之前,甚至 afterrender 都被同步调用了。
我错过了什么?我应该绑定什么事件来渲染所有元素并能够接受焦点?
PS:如果我在 10 毫秒这样的小间隔后调用相同的 .focus() - 我会集中注意力,但这不是解决方案
【问题讨论】:
标签: javascript extjs extjs4 extjs4.1