Determine o que está sendo arrastado dos eventos dragenter e dragover
Estou tentando usar a API HTML5 arrastável (embora eu percebatem seus problemas). Até agora, o único obstáculo que encontrei é que não consigo descobrir uma maneira de determinar o que está sendo arrastado quando umdragover
oudragenter
incêndios de eventos:
el.addEventListener('dragenter', function(e) {
// what is the draggable element?
});
Eu percebo que eu poderia assumir que é o último elemento a disparar umdragstart
evento, mas ... multitouch. Eu também tentei usare.dataTransfer.setData
dedragstart
para anexar um identificador único, mas aparentemente esses dados sãoinacessível dedragover
/dragenter
:
Esses dados só estarão disponíveis quando ocorrer uma queda durante o evento de soltar.
Então, alguma ideia?
Atualizar: No momento em que este artigo foi escrito, o recurso de arrastar e soltar HTML5 não parece ser implementado em nenhum navegador móvel principal, o que torna o argumento sobre multitouch na prática. No entanto, gostaria de uma solução que funcione com segurança em qualquer implementação dea especificação, o que não parece impedir que vários elementos sejam arrastados simultaneamente.
Eu posteiuma solução de trabalho abaixo, mas é um hack feio. Eu ainda estou esperando por uma resposta melhor.