如何使用jQuery监听textarea中的拖放纯文本?

dav*_*ave 8 jquery textarea drag-and-drop

我希望用户能够将纯文本(浏览器外部)拖放到textarea中,并监听此事件.

至少在Chrome中,.change()并没有拿起这个,而jQueryUI .droppable()似乎只适用于html元素,而不是纯文本.欢迎任何建议.

And*_*ker 14

这似乎在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;
});
Run Code Online (Sandbox Code Playgroud)

(基本上改编自这个相关答案)

示例: http ://jsfiddle.net/2cJZY/ 看起来您必须取消dragover(和dragenter)事件才能drop在Chrome中捕获事件.