gpt4 book ai didi

javascript - 将焦点设置到文本区域后如何防止冒泡事件?

转载 作者:行者123 更新时间:2023-12-03 12:17:27 24 4
gpt4 key购买 nike

我有以下内容:

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 事件在该行以图形方式突出显示之前触发。我假设此时焦点被设置为其他内容(所选行),就像 Ext.js 代码中经常发生的情况一样。

您有不同的选择可以尝试(现在还没有尝试过,只是凭内存记忆):

  1. 使用beforeselect事件并返回false,则底层选择将被取消。仅当您不需要实际的行选择时,这才有效。这相当于按照您的要求停止事件冒泡。

  2. 使用超时,例如Ext.util.DelayedTask 并等待几毫秒,然后将焦点设置到文本区域。在这种情况下,您保留基础行选择。这可能是您最好的选择。

  3. 使用 selectionchange 事件。它在时间方面的表现可能有所不同。

关于javascript - 将焦点设置到文本区域后如何防止冒泡事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618204/

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