仅在 Dijit MenuItem 上左键单击

Left click only on Dijit MenuItem

以这里的基础教程为例: https://dojotoolkit.org/documentation/tutorials/1.10/menus/demo/simpleProgMenu.html

我注意到没有(明显的)方法来区分左击和右击。我希望右键单击不执行任何操作,但左键单击可调用菜单项上的 onClick()。

检查传递给 onClick 函数的事件参数的内容,似乎没有任何信息告诉我单击了哪个鼠标按钮。

有办法实现吗?

如果您希望右键单击不执行任何操作,则无需执行任何特殊操作。如果你想处理右键点击,你可以使用 dojo/mouse 模块和它的 mouseButtons 对象。 文档中的示例:

require(["dojo/mouse", "dojo/on", "dojo/dom"], function(mouse, on, dom){
  on(dom.byId("someid"), "click", function(evt){
    if (mouse.isLeft(event)){
      // handle mouse left click
    }else if (mouse.isRight(event)){
      // handle mouse right click
    }
  });
});