Javascript 具有上下文菜单和键盘导航的Dojo树

Javascript 具有上下文菜单和键盘导航的Dojo树,javascript,tree,dojo,keyboard-navigation,Javascript,Tree,Dojo,Keyboard Navigation,我有一个带上下文菜单的菜单。用户可以使用键盘键导航树,使用上下箭头键移动,使用左右键打开和关闭节点,如文档中所述。但是,按下关联菜单键(或Shift-F10)可同时打开树关联菜单和浏览器关联菜单。在大多数浏览器中,浏览器菜单会产生干扰,您需要按Esc键将其隐藏。用鼠标右键单击仅打开树上下文菜单 这是一个展示问题的例子。这与参考页中的示例相同。在本例中,我以编程方式附加: menu = new Menu({ targetNodeIds: ["menutree"], selector

我有一个带上下文菜单的菜单。用户可以使用键盘键导航树,使用上下箭头键移动,使用左右键打开和关闭节点,如文档中所述。但是,按下关联菜单键(或Shift-F10)可同时打开树关联菜单和浏览器关联菜单。在大多数浏览器中,浏览器菜单会产生干扰,您需要按Esc键将其隐藏。用鼠标右键单击仅打开树上下文菜单

这是一个展示问题的例子。这与参考页中的示例相同。在本例中,我以编程方式附加:

menu = new Menu({
    targetNodeIds: ["menutree"],
    selector: ".dijitTreeNode"
});

是否可以仅对附加菜单的树节点而不是整个应用程序禁用浏览器的上下文菜单?

显示浏览器上下文菜单时会触发一个事件。您可以收听此事件并检查焦点是否在树网格上。如果是,请停止浏览器事件,否则请保持事件不变。希望这有帮助。我可以阻止该事件,但我仍然希望树上下文菜单出现。就像你用鼠标右键点击一样。你知道吗!!我在IE和Firefox中测试了您的JSFIDLE,当按下Shift-F10时,我发现只有treegrid上下文菜单。如果我在同一个节点上执行两次Shift-F10(比如印度),我将同时看到浏览器和treegrid上下文菜单。