Esperemos que esto pueda ayudarlo, aunque no sea Ember, tal vez pueda usarlo. He tenido una buena experiencia de HTML5 arrastrar y soltar y es un poco molesto, pero si quieres cosas geniales como la arrastre y la caída de la ventana cruzada, vale la pena el esfuerzo, creo.
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();
});
Puedes ejecutarlo aquí
El truco es cancelar la propagación de dragleaves desde el elemento interno y observar que cuando Drag Enter Fires en el padre y el objetivo no es el padre, estamos a punto de obtener una licencia de lo que no estamos interesados. No es ideal pero es ideal. podría tener en cuenta algo que con suerte puede usar.