我希望用户能够将纯文本(浏览器外部)拖放到textarea中,并监听此事件.
至少在chrome中,.change()不会对此有所了解,而jQueryUI .droppable()似乎只适用于html元素,而不是纯文本.欢迎任何建议.
解决方法
这似乎在IE7,FF6和Chrome中都能正常工作(在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; });
(基本改编自this related answer)
示例:http://jsfiddle.net/2cJZY/您似乎必须取消dragover(和dragenter)事件才能捕获Chrome中的drop事件.