You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测Ext.menu.Menu关闭或失焦状态并执行对应操作?

检测Ext.menu.Menu的关闭/失焦状态并执行操作

要实现菜单关闭或失焦时执行特定操作,直接监听Ext.menu.Menu的对应事件即可:

  • close事件:菜单完全关闭时触发,覆盖所有关闭场景(点击菜单外部、调用close()方法等)
  • blur事件:菜单失去焦点时触发,当用户点击页面其他非菜单元素导致菜单失焦时会触发该事件

修改你的示例代码,添加事件监听逻辑:

Ext.create('Ext.menu.Menu', {
    width     : 100,
    margin    : '0 0 10 0',
    floating  : false,
    renderTo  : Ext.getBody(),
    items : [
        { text : 'regular item 1' },
        { text : 'regular item 2' },
        { text : 'regular item 3' }
    ],
    listeners: {
        // 菜单关闭时执行自定义操作
        close: function(menu) {
            console.log('菜单已关闭');
            // 此处添加你的业务逻辑
        },
        // 菜单失焦时执行自定义操作
        blur: function(menu) {
            console.log('菜单已失焦');
            // 此处添加你的业务逻辑
        }
    }
});

如果需要对关闭操作做前置判断或区分触发源,可以额外监听beforeclose事件,但多数场景下直接使用close和blur事件就能满足需求。

内容的提问来源于stack exchange,提问作者user2829650

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:15:31