我有以下几点:
xtype: 'gridpanel',
id: 'myGridPanel',
columns: [...],
store: myStore,
listeners: {
select: function(){
Ext.getCmp('myTextArea').focus();
console.log('Text area has focus here');
}
}myTextArea在我调用.focus()之后就有了焦点,但是当我的程序执行离开select函数时,它就失去了焦点。我认为问题在于,在调用select监听器之后,程序执行就会发生,而且执行会改变焦点。我如何防止冒泡的事件改变焦点?
发布于 2014-07-08 04:54:50
在以图形方式突出显示行之前,select事件会触发。我假设焦点被设置到其他东西(选定的行),就像在Ext.js代码中经常发生的那样。
您可以尝试不同的选项(现在还没有尝试过,只是从内存中回忆起来):
beforeselect事件并返回false,则基础选择将被取消。这只在不需要实际行选择的情况下才有效。这相当于按照您的要求停止事件冒泡。Ext.util.DelayedTask,并在设置文本区域焦点之前等待几毫秒。在这种情况下,您将保留基础行选择。这可能是你最好的选择。selectionchange事件。它在时间上的表现可能会有所不同。https://stackoverflow.com/questions/24618204
复制相似问题