hola.
Estoy tratando de averiguar cómo ocultar el cursor "arrastrar no permitido" durante una operación de arrastre.
Podría estar de acuerdo con cambiarlo también, si no es posible eliminarlo. Sin embargo, siento que no estoy obteniendo algo, suena como algo fácil, ¿no?
Aquí hice un pequeño violín para mostrar el problema: JSFiddle
box0.addEventListener('dragstart', dragStart); box0.addEventListener('dragend', dragend); box0.addEventListener('dragenter', dragEnter); box0.addEventListener('dragover', dragOver); container.addEventListener('dragenter', dragEnter); container.addEventListener('dragover', dragOver); container.addEventListener('dragend', dragend); function dragStart(e) { e.dataTransfer.setData('text/plain', e.target.id); setTimeout (() => {e.target.classList.add('boxh');}, 0);} function dragend(e) { e.target.classList.remove('boxh'); } function dragEnter(e) { e.preventDefault(); }Para ocultar el cursor no permitido y hacer que sus zonas de colocación sean válidas, debe aplicar preventDefault tanto en dragOver como en dragEnter.
Una vez que tenga una zona de colocación válida, puede cambiar el cursor con e.dataTransfer.dropEffect a "copiar", "mover", "enlazar", "ninguno". ( https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/dropEffect )
Desafortunadamente, no parece que haya una opción sin cursor.
onDragOver={e => { e.dataTransfer.dropEffect = "move"; e.preventDefault() }} onDragEnter={e => { e.preventDefault() }}