Archivo
Archivo
-
-
-
-
-
-
-
-
-
-
- Configurar Firewall para permitir el acceso a SQL ...
- Opciones de bases de datos en SQL Server
- Capturar click derecho con jquery
- Marcador JPEG desconocido o no válido
- Actualizar PHP, Apache y MySQL en CentOS
- Comandos útiles en Linux
- Bug con el plugin de jquery WYSIWYG
- Benchmark Apache y MySQL en CentOS
- Problemas en el acceso remoto a SQL Server
- Eliminar una conexión de unidad de red
- Restaurar una base de datos en Sql Server
-
-
Etiquetas
Etiquetas
Entradas populares de este blog
Imprimir un texto con echo en PHP
PHP Non-Thread Safe vs Thread Safe
Capturar click derecho con jquery
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Jquery carece de una función que sea rightClick() [por ejemplo] es por ello que para acceder a este evento es necesario utilizar algunos trucos de programación. El motivo por el cual no existe esta función es muy sencillo, un click derecho no deja de ser un click al igual que el doble click no deja de ser dos clics seguidos.
Métodos para capturar ele evento click con jquery
Para capturar el click en jquery podríamos utilizar cualquiera de estas variantes:
$('div').bind('click', function(){ alert('clicked'); }); $('div').live('click', function(){ alert('clicked'); }); $('div').click(function(){ alert('clicked'); });
Diferenciar entre click derecho e izquierdo con jquery
Mientras que en cambio no existe el evento rightclick como os comentaba anteriormente. En cambio desde la versión 1.1.3 de jQuery event.which normaliza event.keyCode y event.charCode por lo que no tenemos que preocuparnos por problemas de compatibilidad del navegador, event.which dará 1, 2 o 3 para los botones del ratón a la izquierda, centro y derecha, respectivamente, así:
$('div').mousedown(function(event) { switch (event.which) { case 1: alert('Left mouse button pressed'); break; case 2: alert('Middle mouse button pressed'); break; case 3: alert('Right mouse button pressed'); break; default: alert('You have a strange mouse'); } });
El siguiente código es otra variante para distinguir entre el click derecho e izquierdo de ratón sobre un elemento:
$('div').bind('click', function(e) { if (e.button == 2) { alert("Right click"); } else { alert("Some other click"); } }
Capturar el evento del menú contextual con jquery y con él el botón derecho
La gran desventaja de estos dos métodos anteriores es que en muchos casos el click derecho está asociado a la aparición de un menú contextual, al aparecer este menú contextual se inhabilitan el resto de funciones. Para evitar esto lo mejor es en vez de capturar el click derecho capturar el evento del menú contextual y eliminarlo, esto lo podemos hacer de la siguiente manera:
$('div').bind('contextmenu', function(e) { // evito que se ejecute el evento e.preventDefault(); // conjunto de acciones a realizar });
Con esta opción de capturar el evento contextmenu capturamos el click derecho del ratón en su evento final, de esta forma podemos programas funciones que se ejecutarán justo después de eliminar la aparición del menú contextual.
Nota: si el código anterior lo aplicamos al objeto document estaríamos eliminando el click derecho (nada recomendable) en nuestra web.
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios