仅在 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
}
});
});
以这里的基础教程为例: 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
}
});
});