gpt4 book ai didi

javascript - 手动移动焦点时 Combo 不会模糊

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:20:56 26 4
gpt4 key购买 nike

我有一个组合框,可以在用户选择一个值后立即将焦点转移到另一个表单元素,配置如下:

new Ext.form.ComboBox({
// ...
listeners: {
select: function( a, record ) {
if ( typeof( record ) == 'undefined' ) {
return;
}

if ( !Ext.getCmp('input-name').getValue() ) {
Ext.getCmp('input-name').focus();
}
},
blur: function() {
console.log('blurred');
},
render: function( field ) {
if ( !config.activity ) {
field.onTriggerClick();
}
}
},
// ...
});

然而,奇怪的事情发生了。 “输入名称”表单字段获得焦点,我可以开始在其中输入内容,但组合字段永远不会模糊。它仍然具有“x-form-focus”风格,并且永远不会触发“blur”事件。只有当我用鼠标点击另一个字段时,组合才会模糊。

有谁知道这是怎么回事,我该如何避免这种情况?

最佳答案

我是这样解决的:

listeners: {
select: function( a, record ) {
if ( typeof( record ) == 'undefined' ) {
return;
}

/**
* There's some weird stuff going on in the combo control, that causes it not to blur when shifting focus,
* so we have to do it manually. This action has to be deferred, because the control is going to refocus
* itself at the end of the function firing this event (onViewClick()).
*/
this.moveFocus.defer( 100, this );
},
render: function( field ) {
field.moveFocus = function() {
if ( !Ext.getCmp('input-name').getValue() ) {
Ext.getCmp('input-name').focus();
this.triggerBlur();
}
};

if ( !config.activity ) {
field.onTriggerClick();
}
}
},

关于javascript - 手动移动焦点时 Combo 不会模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com