javascript - 在 contentEditable div 中使用 jQuery 清理粘贴事件

标签 javascript jquery copy-paste contenteditable jquery-events

我正在尝试清理 contentEditable div 中的粘贴。也就是说,代码应如下所示:

$('#content').bind('paste',function(e)
{
    // Ensure pasted markup is valid
});

理想情况下,我能够解析粘贴的文本并以适合网站的方式重新格式化它,但我不知道该怎么做。

或者,我愿意粘贴为纯文本(而不是 HTML),但我也不知道该怎么做。

我不太喜欢弹出一个带有文本区域的框的解决方案,要求用户粘贴到该文本区域,然后将文本放入前一个光标位置的内容中。我知道如何做到这一点,但想避免它。

而且我完全不喜欢使用 e.preventDefault() 来阻止用户粘贴。

最佳答案

大多数浏览器都没有直接的方法来访问在进入 DOM 之前粘贴的内容。但是,有一种相当复杂的方法可以做到这一点,它只适用于由键盘触发的粘贴。在这里查看我的回答:

JavaScript get clipboard data on paste event (Cross browser)

关于javascript - 在 contentEditable div 中使用 jQuery 清理粘贴事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507418/

相关文章:

javascript - 数据绑定(bind)在 AngularJS 中是如何工作的?

javascript - 解析 JSON 时出现意外标记

Jquery 动画旋转不起作用

silverlight - 将图像粘贴到 Silverlight 中

linux - 相当于 ctrl c 命令取消程序

javascript - 每个 ng-repeat 都需要唯一的数据属性

javascript - 正则表达式。如何制作自定义条件

css - 在 ajaxStart 上更改鼠标光标

javascript - JQuery 使用计时器在 for 循环中更改 CSS

javascript - GWT - 在具有 70 个奇数小部件的页面中实现剪切、复制和粘贴