используя базовый учебник здесь в качестве примера: https://dojotoolkit.org/documentation/tutorials/1.10/menus/demo/simpleProgMenu.html
Я заметил, что нет (очевидного) способа различить левый и правый клики. Я бы хотел, чтобы щелчок правой кнопкой мыши ничего не делал, но щелкните левой кнопкой мыши, чтобы вызвать onClick() в элементе меню.
Проверяя содержимое параметра события, переданного функции onClick, я не вижу ничего, что говорило бы мне о том, какая кнопка мыши была нажата.
Есть ли способ добиться этого?
Если вы хотите, чтобы щелчок правой кнопкой мыши ничего не делал, вам не нужно делать ничего особенного. Если вы хотите обрабатывать правые клики, вы можете использовать модуль додзё/мышь и его объект 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
}
});
});
Вы правы насчет демонстрации, кажется, что до версии 1.9 по умолчанию ничего не делалось при щелчке правой кнопкой мыши, но в версии 1.10 это изменилось. Вы можете использовать dojo/мышь, чтобы игнорировать правые клики.
Когда вы говорите, что мне не нужно делать ничего особенного, вы имеете в виду, что в стандартном поведении щелчок правой кнопкой мыши ничего не делает? Поскольку это не то, что я вижу из приведенного выше примера. Или что мне не нужно делать ничего особенного после использования додзё/мыши?