Tengo un pequeño problema con html5 arrastrar y soltar. No veo una manera fácil de salir de eso. Básicamente tengo algunas "cajas" con algunos otros elementos html dentro. Los cuadros principales son arrastrables y pueden soltarse entre sí.html5: hay una manera de evitar que los niños interfieran con los eventos de arrastre
Adjunto dragover
evento en el cuerpo para manejar arrastrar y soltar en toda la página. El problema es que cuando arrastras las casillas, el evento a veces se desencadena en elementos secundarios y el padre no obtiene este evento.
¿Hay alguna manera fácil de evitar que esto suceda?
Básicamente quiero que el evento de dragover se dispare tan pronto como el mouse esté en el área del cuadro de destino. Conozco un par de formas de resolver esto, pero son realmente feas y me preguntaba si tal vez haya algo simple.
Gracias por sus pensamientos
Versión corta de lo que estoy haciendo en código:
document.addEventListener('dragenter', function(e) {
if (e.target.className == 'candrophere')
// cancel out "e" to allow drop
}, false);
Pero en mi caso, los elementos secundarios están tomando casi todo el cuadro '.candrophere' por lo que el evento casi nunca se disparó en el destino correcto (sobre todo cuando muevo el ratón más rápido)
Debe publicar el código que está fallando para que las personas puedan ayudarlo. – Nelson
Actualizado con algún pseudo código sin distracciones – Marius
Pude arreglar esto simplemente usando el evento dragover en lugar del evento dragenter –