examples example ejemplos ejemplo drop and javascript jquery drag-and-drop right-click

example - JavaScript: capturando el clic derecho y deshabilitando el menú solo dentro de cierto elemento



draggable.js examples (3)

"¿Vale la pena mirar un plugin jQuery para arrastrar y soltar?"

Solo si no tiene la intención de que su aplicación se use en el sistema operativo iPhone con safari, es decir, que incluye iPad, consulte la Guía de contenido web de Safari: Manejo de eventos

He codificado un guión jquery donde hay una pequeña cuadrícula en la pantalla y el uso de arrastrar y soltar usuarios puede colocar mosaicos en la cuadrícula (encaje en su lugar). Actualmente, si pasa el mouse sobre un mosaico, se desvanece en la opción de rotar, pero preferiría que pudiera hacer clic con el botón derecho para rotar (haciéndolo más natural). Entiendo que bloquear el clic derecho por completo es a menudo mal visto así que me preguntaba si era posible solo dentro de un elemento en particular, luego capturaba ese evento, hacía algo en JS y desactivaba el menú contextual. - eso funciona en todos los navegadores.

En una nota lateral, actualmente estoy usando jQuery para efectos y JavaScript personalizado para arrastrar y soltar, ¿vale la pena mirar un plugin de jQuery para arrastrar y soltar?

Muchas gracias,


No soy partidario de usar el botón derecho del mouse en las páginas web. Sin embargo, si realmente quieres hacerlo, puedes atrapar el botón derecho del mouse como se describe aquí . Podría bloquear el botón derecho del mouse (en otras palabras, devolver falso en su controlador de eventos) condicionalmente si el mouse está sobre sus celdas de la grilla.

En cuanto a su pregunta de bonificación: jquery ui tiene funcionalidad de arrastrar y soltar . Probablemente sea más fácil usar eso que hacer tu propio.


Para capturar el clic derecho, puede usar este jquery:

$(''#gridID'').bind(''contextmenu'', function(e) { // do stuff here instead of normal context menu return false; });

Esto funciona en Chrome, Firefox y Safari. No he probado IE . Funciona en IE también. La única advertencia es que aparentemente no funciona en Opera. Entonces, si puedes vivir con eso ...