【问题标题】:dojo tabContainer - how to get tab id under right-mouse click popup menu for tab not in focusdojo tabContainer-如何在鼠标右键单击弹出菜单下获取选项卡ID,以使选项卡不在焦点上
【发布时间】:2015-04-14 15:53:39
【问题描述】:

我是一名道场新手,我正在为我的客户修改现有应用程序并在弹出菜单中添加额外选项......“全部关闭”和“关闭其他选项卡”。已经存在“关闭”。

添加额外的菜单项相当简单...“全部关闭”获取 tabContainer 并遍历删除它们的选项卡。

但是对于“关闭其他选项卡”,即关闭除我右键单击的选项卡以外的所有其他选项卡,我无法弄清楚如何获取该选项卡的 ID,在该选项卡上完成了鼠标右键单击。

“selectedChildWidget”不是我想要的选项卡,它提供了当前选择的选项卡...我右键单击了其他未选择的选项卡之一。

有什么想法吗?我有鼠标事件,但找不到返回触发它的选项卡的路径,只有弹出菜单。

非常感谢,安德鲁(很快就灰飞烟灭了)

【问题讨论】:

    标签: menu dojo popup mouse tabcontainer


    【解决方案1】:

    Dijit 菜单有一个currentTarget 属性,该属性指示正在为哪个节点显示菜单。在 MenuItem 的 onClick 处理程序中,您可以使用 this.getParent().currentTarget 访问当前目标节点:

    closeMenu.addChild(new MenuItem({
        label: 'Close all',
        ownerDocument: document,
        onClick: function (evt) {
            // tab that was clicked
            var tab = registry.byNode(this.getParent().currentTarget);
            // tab's associated page is tab.page
        }
    }));
    

    【讨论】:

    • 这仍然为我返回了部分菜单......这一定与他们如何构建他们的 tabcontainer 并将菜单关联到它有关。无论如何,它给了我钻取 parentNode 的想法,直到我到达他们的弹出窗口,然后从那里进入被选中的选项卡。谢谢!
    • 但是如何在上面的代码中获得“closeMenu”?我在 doc 或 google 中找不到任何线索。请帮助我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多