2011-08-30 4 views

Respuesta

14

Esto parece funcionar bien en IE7 +, FF6 y Chrome (no funciona en Safari):

$("textarea") 
    .bind("dragover", false) 
    .bind("dragenter", false) 
    .bind("drop", function(e) { 
     this.value = e.originalEvent.dataTransfer.getData("text") || 
      e.originalEvent.dataTransfer.getData("text/plain"); 

     $("span").append("dropped!"); 

    return false; 
}); 

(Básicamente adaptado de this related answer)

Ejemplo:http://jsfiddle.net/2cJZY/ miradas al igual que debe cancelar el evento dragover (y dragenter) para ver el evento drop en Chrome.

+0

Esto funciona, sin embargo, el texto que se está arrastrando ya no se coloca en el área de texto – dave

+0

@dave: Ach; Debería haber prestado más atención, lo siento por eso. –

+0

No hay problema, ¿tiene alguna idea de cómo capturar lo que se arrastra arbitrariamente? – dave

0

¿Qué tal si revisamos otro evento como onfocus?

Almacena el valor del área de texto, en el foco del área de texto, verifica si se realizó un cambio.

+0

onFocus tampoco desencadena – dave