首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在设置文本区域焦点后防止冒泡事件?

如何在设置文本区域焦点后防止冒泡事件?
EN

Stack Overflow用户
提问于 2014-07-07 19:19:33
回答 1查看 234关注 0票数 0

我有以下几点:

代码语言:javascript
运行
复制
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监听器之后,程序执行就会发生,而且执行会改变焦点。我如何防止冒泡的事件改变焦点?

EN

Stack Overflow用户

回答已采纳

发布于 2014-07-08 04:54:50

在以图形方式突出显示行之前,select事件会触发。我假设焦点被设置到其他东西(选定的行),就像在Ext.js代码中经常发生的那样。

您可以尝试不同的选项(现在还没有尝试过,只是从内存中回忆起来):

  1. 使用beforeselect事件并返回false,则基础选择将被取消。这只在不需要实际行选择的情况下才有效。这相当于按照您的要求停止事件冒泡。
  2. 使用超时,例如Ext.util.DelayedTask,并在设置文本区域焦点之前等待几毫秒。在这种情况下,您将保留基础行选择。这可能是你最好的选择。
  3. 播放selectionchange事件。它在时间上的表现可能会有所不同。
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24618204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档