Tengo una página web que permite arrastrar archivos desde fuera del navegador y colocarlos en un destino en mi página web. Mi aplicación cargará una copia de cada archivo, por lo que configuro dataTransfer.dropEffect para "copiar", por lo que el navegador indicará al usuario que esto dará como resultado una copia en lugar de un movimiento. Esto funciona como se esperaba en Chrome: al arrastrar un archivo sobre mi destino, el navegador muestra un cursor de "copia". Pero Firefox parece ignorar el efecto drop y continúa mostrando su cursor de "movimiento" predeterminado mientras los archivos se arrastran sobre mi destino de caída. He realizado muchas búsquedas y no he encontrado ninguna mención de un problema de Firefox como este, así que probablemente paso por alto algunos detalles en mi código. He incluido un ejemplo desglosado que ilustra el problema a continuación. Gracias de antemano si alguien puede detectar lo que estoy haciendo mal.dropEffect no funciona al arrastrar archivos a Firefox
<!DOCTYPE html>
<html>
<head>
<title>Test Stuff</title>
<style type="text/css">
P
{
background-color: #cccccc;
padding: 10px;
}
</style>
<script type="text/javascript">
function DocOnLoad() {
var target = document.getElementById('dropTarget');
target.addEventListener('dragenter', function (e) {
e.preventDefault();
e.dataTransfer.dropEffect = 'copy';
});
target.addEventListener('dragover', function (e) {
e.preventDefault();
e.dataTransfer.dropEffect = 'copy';
});
target.addEventListener('drop', function (e) {
e.preventDefault();
var files = e.dataTransfer.files;
alert(files[0].name);
});
}
</script>
</head>
<body onLoad="DocOnLoad()" >
<p id="dropTarget">Drop target.</p>
</body>
</html>
que tiene el mismo problema. Mis observaciones son que Chrome y Safari en Windows respetan dropEffect, pero Firefox 13, Opera 11.64 e Internet Explorer 9 y 10 no lo hacen. :( – thomthom