Espero que isso possa ajudá -lo, embora não seja brasa, talvez você possa usar isso. Eu tive uma experiência razoável de arrastar e cair HTML5 e é um pouco irritante, mas se você quiser coisas legais como arrastar e soltar, vale a pena o esforço.
var ignoreNextLeave = false;
$("#outerDragTarget").on("dragenter", function(ev) {
// not interested in dragleaves from my children...
if (ev.target !== this) {
ignoreNextLeave = true;
}
$(this).addClass("dragover");
}).on("dragleave", function(ev) {
if (ignoreNextLeave) {
ignoreNextLeave = false;
return;
}
$(this).removeClass("dragover");
});
$("#innerDragTarget").on("dragleave", function(ev) {
ev.stopPropagation();
});
Você pode executá -lo aqui
O truque é cancelar a propagação de dragleaves do elemento interno e observar que, quando o arrasto entra nos incêndios no pai e o alvo não é o pai, estamos prestes a tirar uma licença de arrasto em que não estamos interessados. Não é o ideal, mas Pode ser considerado em algo que você pode usar.