如何在Ext.Window显示后,其中里面的某一个文本框自动获得焦点?

2024-12-30 14:27:50
推荐回答(3个)
回答1:

因为所有的可视控件需要一个渲染的时间,所以渲染完被刷没了
解决方式:(假设textfield的id是name)加个延迟时间就好!
Ext.getCmp('name').focus(false, 100);
或者
Ext.getCmp('name').focus.defer(100, Ext.getCmp('name'));

回答2:

因为所有的可视控件需要一个渲染的时间,所以渲染完被刷没了

解决方式:(假设textfield的id是name)加个延迟时间就好!

Ext.getCmp('name').focus(false, 100); 

或者

Ext.getCmp('name').focus.defer(100, Ext.getCmp('name'));

如果是extjs的field , 都有 blur , focus 的事件
var field = Ext.create("Ext.form.field.Text" , {
    listeners:{
        blur: function(){
            //失去焦点事件
        } , 
        focus: function(){
            //获取焦点
        }
    }
});
 
//如果是通过extjs操作当前页面中的input..
//这是Input
//
var el = Ext.get("a");
a.on({
        blur: function(){
            //失去焦点事件
        } , 
        focus: function(){
            //获取焦点
        }
});

回答3:

因为所有的可视控件需要一个渲染的时间,所以渲染完被刷没了

解决方式:(假设textfield的id是name)加个延迟时间就好!

Ext.getCmp('name').focus(false, 100); 

或者

Ext.getCmp('name').focus.defer(100, Ext.getCmp('name'));