Estoy haciendo una acción de arrastrar y soltar, y quiero que un elemento se desplace cuando coloque un elemento sobre el que está en mi camino.jQuery: ¿cómo obtengo el elemento debajo de mi cursor?
Respuesta
un corte sencillo sería decir algo como:
var hoverElem = null;
$('*').hover(function() {hoverElem = this});
luego, cuando es necesario llamar a lo que cada vez funciona para obtener el valor, sólo tiene que utilizar hoverElem
EDIT: este es un menos recursos llamar:
$('*').live('mouseenter', function() { hoverEleme = this; });
EDIT 2: debido a .live() está en desuso, se debe utilizar .on()
$("*").on("mouseenter", function() { hoverElem = this; });
No sé si hay una forma estándar, pero probablemente vincularía un evento "mouseover" a todos los elementos que podría querer mover hacia abajo si está sobre ellos y luego probar para ver si está actualmente arrastrando un objeto.
De nuevo, realmente no conozco su configuración exacta, pero podría tener una variable global var currentlyDragging = false
y luego, cuando comience a arrastrar, configúrelo en true
. Luego, cuando pasas el mouse sobre un elemento que quieres alejar, puedes probar para ver si tu variable currentyDragging
es verdadera y, si es así, puedes moverla.
Bit complicado, pero realmente no puedo pensar en otra forma de hacerlo de la parte superior de mi cabeza. :)
$('*').on('mouseenter', function() { hoverEleme = this; });
Esto es mucho más barato que la fijación de un controlador de ratón para cada elemento (que también dispara contra mouseleave), especialmente los más elementos que se obtienen.
Esto funciona mucho mejor, con el .hover, me sale mal 'esto' de vuelta ... – TrySpace
- 1. jQuery: elemento resaltado debajo del cursor del mouse?
- 2. ¿Cómo obtener la palabra debajo del cursor?
- 3. muestra el error de validación de jquery debajo del elemento
- 4. Obtengo elemento HTML usando jQuery
- 5. jQuery reemplazar el texto del elemento al pasar el cursor
- 6. ¿Cómo obtener el control debajo del cursor del mouse?
- 7. Cómo obtener el elemento bajo el cursor en WPF ListView
- 8. jquery cómo cambiar solo un elemento principal al colocar el cursor sobre el elemento
- 9. ¿En qué elemento está el cursor al mouseleave() con jQuery?
- 10. En WPF, ¿cómo selecciono el elemento de la vista de árbol debajo de mi cursor al hacer clic con el botón derecho?
- 11. ¿Cómo obtener el elemento enfocado con jQuery?
- 12. ¿Cómo comprobar si el cursor está sobre un elemento?
- 13. Abrir URL debajo del cursor en Vim con el navegador
- 14. ¿Cómo obtengo el elemento seleccionado por nombre y luego obtengo el valor seleccionado de un menú desplegable usando jQuery?
- 15. jQuery hover div debajo de otra capa
- 16. Cómo buscar una cadena debajo del cursor en Eclipse
- 17. ¿Cómo obtengo el marcado de un elemento, incluido el uso de jQuery?
- 18. ¿Cómo obtengo la identificación del elemento ordenable?
- 19. ¿Cómo obtengo la posición actual del cursor de la pantalla?
- 20. ¿Cómo obtengo el radio del borde de un elemento usando jQuery?
- 21. Ejecutar un comando debajo del cursor en VIM
- 22. ¿Eliminar el margen fantasma debajo del elemento canvas de HTML5?
- 23. CSS: coloque el cursor sobre otro elemento?
- 24. ¿Cómo obtengo el primer elemento en lugar de usar [0] en jQuery?
- 25. ¿Cómo obtengo el "td" en un elemento de tabla con jquery?
- 26. ¿Cómo obtener el elemento padre de mi elemento?
- 27. ¿Cómo obtener el nombre del grupo de resaltado debajo del cursor en vim?
- 28. ¿Cómo obtengo el índice de un elemento en una matriz?
- 29. jQuery - Siga el cursor con un DIV
- 30. IU de JQuery: soltar el elemento largo en la ubicación del cursor en lugar de la mitad del elemento
En lugar de conectar un controlador de mouse a cada elemento (que también se activa en 'mouseleave', debe usar' $ ('*'). Live ('mouseenter', function() {hoverEleme = this;}); ', es mucho * más barato, especialmente cuantos más elementos obtienes. –
debidamente anotado. Pensé que el mousever solo hacía mouseenter cuando solo había la primera función en la llamada. –
.live ha quedado en desuso. – moosefetcher