Search code examples
javascriptright-clickmousedown

JS: detect right click without jQuery (inline)


I'm calling a function, that builds a table which includes several links.

I want to check if a link has been clicked with right or left mouse.

I tried to add the following part to the <a> hyperlink.

onmousedown="function mouseDown(e){
switch (e.which) {
   case 1: alert('left'); break;
   case 2: alert('middle'); break;
   case 3: alert('right'); break; }
}"

But nothing happens If I click on a link.


Solution

  • The html:

    <a href="#" onmousedown="mouseDown(event);">aaa</a>​​​​​​​​​​​​​​​​​​​​​​​​​​​
    

    The javascript:

    function mouseDown(e) {
      e = e || window.event;
      switch (e.which) {
        case 1: alert('left'); break;
        case 2: alert('middle'); break;
        case 3: alert('right'); break; 
      }
    }​
    

    The demo.