Skip to content Skip to sidebar Skip to footer

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

Solution 1:

The html:

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

The javascript:

functionmouseDown(e) {
  e = e || window.event;
  switch (e.which) {
    case1: alert('left'); break;
    case2: alert('middle'); break;
    case3: alert('right'); break; 
  }
}​

The demo.

Solution 2:

Here's a modification of xdazz's answer that supports browsers that use e.button, normalizes the value, and stores it in e.which. The added lines are what are used in the JQuery library.

functionmouseDown(e) {
  e = e || window.event;
  if ( !e.which && e.button !== undefined ) {
    e.which = ( e.button & 1 ? 1 : ( e.button & 2 ? 3 : ( e.button & 4 ? 2 : 0 ) ) );
  }
  switch (e.which) {
    case1: alert('left'); break;
    case2: alert('middle'); break;
    case3: alert('right'); break; 
  }
}​

Post a Comment for "Js: Detect Right Click Without Jquery (inline)"