1

using vanilla js. Any way to grab the "right-click" (option-click) from OSX?

function clickey(e)
{
  if(event.button==2 || /*how you'd do it in Java=)*/ e.getButton() == MouseButton.BUTTON3 )    
...    
}

but in js, how do eeet?

Andrew Barber
  • 39,603
  • 20
  • 94
  • 123
FlavorScape
  • 13,301
  • 12
  • 75
  • 117

2 Answers2

5

You need to listen to the contextmenu event. This is triggered when the context menu should be shown. So either if the right mouse butten or or ctrl + mouse.

If it is not supported then you can try to check the mousedown event where button is 2 and ctrlKey is true if it is triggered by using ctrl + mouse

document.addEventListener("contextmenu",function(event){

});

OR (depending on what the browser supports)

document.addEventListener("mousedown",function(event){
    if( event.ctrlKey || event.button == 2 ) {
    }
});

edit: removed the which info

t.niese
  • 39,256
  • 9
  • 74
  • 101
3

I'm not experienced with OSX, but the Mouse Events have the option to check the modifier keys. So something along these lines should work:

DOMElement.addEventListener("click",function(event){
   // either check directly the button
   if (event.button == 2){}
   // or
   if (event.ctrlKey || event.altKey || event.metaKey){
       // do stuff
   }  
});
Christoph
  • 50,121
  • 21
  • 99
  • 128