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

Dee*_*ets 5 javascript jquery copy-paste javascript-events contenteditable

我正在尝试清理contentEditable div中的粘贴。也就是说,代码应类似于以下内容:

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

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

另外,我也可以将其粘贴为纯文本(而不是HTML),但是我也不知道该怎么做。

我对弹出带有文本区域的框,要求用户粘贴到此文本区域中,然后将文本放到上一个光标位置的内容中的解决方案不太满意。我知道该怎么做,但要避免。

而且我仅通过阻止用户粘贴就感到完全不舒服e.preventDefault()

提前致谢。

Tim*_*own 2

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

JavaScript 在粘贴事件上获取剪贴板数据(跨浏览器)