Evento de enlace al clic derecho del mouse

¿Cómo puedo activar alguna acción con un clic derecho después de deshabilitar el menú contextual del navegador?

Intenté esto. . .

$(document).ready(function(){ $(document).bind("contextmenu",function(e){ $('.alert').fadeToggle(); return false; }); }); 

No hay un controlador de eventos oncontextmenu incorporado en jQuery, pero puede hacer algo como esto:

 $(document).ready(function(){ document.oncontextmenu = function() {return false;}; $(document).mousedown(function(e){ if( e.button == 2 ) { alert('Right mouse button!'); return false; } return true; }); }); 

Básicamente cancelo el evento oncontextmenu del elemento DOM para deshabilitar el menú contextual del navegador, y luego capturo el evento mousedown con jQuery, y allí se puede saber en el argumento del evento qué botón se ha pulsado.

Puedes probar el ejemplo de arriba aquí .

La función vuelve demasiado temprano. He agregado un comentario al código a continuación:

 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; $('.alert').fadeToggle(); // this line never gets called }); }); 

Intente intercambiar el resultado return false; con la siguiente línea

Solo usa el controlador de eventos. Algo como esto debería funcionar:

 $('.js-my-element').bind('contextmenu', function(e) { e.preventDefault(); alert('The eventhandler will make sure, that the contextmenu dosn't appear.'); }); 

Encontré esta respuesta aquí y la estoy usando así.

Código de mi biblioteca:

 $.fn.customContextMenu = function(callBack){ $(this).each(function(){ $(this).bind("contextmenu",function(e){ e.preventDefault(); callBack(); }); }); } 

Código del script de mi página:

 $("#newmagazine").customContextMenu(function(){ alert("some code"); }); 
 document.oncontextmenu = function() {return false;}; //disable the browser context menu $('selector-name')[0].oncontextmenu = function(){} //set jquery element context menu 

¿Es contextmenu un evento?

Utilizaría onmousedown o onclick luego tomaría la propiedad del botón MouseEvent para determinar qué botón se presionó (0 = left, 1 = middle, 2 = right).

Para deshabilitar el menú contextual con el botón derecho en todas las imágenes de una página simplemente haz esto con lo siguiente:

 jQuery(document).ready(function(){ // Disable context menu on images by right clicking for(i=0;i 

Método .contextmenu : –

Pruebe de la siguiente manera

 
Right click

método .mousedown : –

 $('#wrap').mousedown(function(event) { if(event.which == 3){ alert('Right Mouse button pressed.'); } });