我希望用户能够将纯文本(浏览器外部)拖放到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事件.