Как обнаружить щелчок правой кнопкой мыши на кнопке пользовательского интерфейса скрипта?

Как с помощью расширенного сценария Adobe InDesign (язык javascript) добавить функцию onClick как для левого, так и для правого событий щелчка?

Добавить событие щелчка левой кнопкой мыши очень просто. Как добавить событие правой кнопки мыши?

[опубликовать обновление ответа (большое спасибо Джошу Войтсу за его обнаружение)]

Если кому интересно, я хотел использовать это таким образом, чтобы применить обработчик к такой кнопке, которая отлично работает:

whatbutton.addEventListener("click", function(p){
    if(!p.shiftKey){
        if (p.button ==2) {
            alert("right click");
        }else{
            alert("left click");
        }
    }else{
        if (p.button ==2) {
            alert("shift right click");
        }else{
            alert("shift left click");
        }
    }

person bgmCoder    schedule 08.05.2013    source источник


Ответы (1)


Вот пример кода с сайта kahrel.plus.com/indesign/scriptui.html, который включает наблюдая за правой кнопкой мыши. Отдайте должное @fabiantheblind в этом ответе stackoverflow.

var w =new Window ("dialog");
var b = w.add ("button", undefined, "Qwerty");

b.addEventListener("click", function (k){whatsup (k)});

function whatsup (p)
{
   if(p.button == 2){ $.writeln ("Right-button clicked.") }
   if(p.shiftKey){ $.writeln ("Shift key pressed.") }
   $.writeln ("X: "+ p.clientX);
   $.writeln ("Y: "+ p.clientY);
}
w.show ();
person Josh Voigts    schedule 09.05.2013