remove multiple color change jquery css

jquery - multiple - Evento de enlace al clic derecho del mouse



jquery css width (8)

¿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; }); });


¿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).


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"); });


Método .contextmenu : -

Pruebe de la siguiente manera

<div id="wrap">Right click</div> <script> $(''#wrap'').contextmenu(function() { alert("Right click"); }); </script>

método .mousedown : -

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


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 here .


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<document.images.length;i++) { document.images[i].onmousedown = protect; } }); function protect (e) { //alert(''Right mouse button not allowed!''); this.oncontextmenu = function() {return false;}; }


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&#39;t appear.''); });


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


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