JQuery文本编辑器粘贴无格式化

3
我在我的网站上使用JQuery文本编辑器插件。有时,当用户将来自其他网站的预格式化HTML文本复制并粘贴到插件的文本框中时,它会呈现不正确并断开部分字符串。从数据库检索后可以看到损坏的文本。
如果您手动编写此文本,或者从框中复制并重新粘贴,它将显示正常。
我认为这与JQuery文本编辑器的格式不正确有关。
我在Stack上找到了下面的函数,看起来它会起作用:
document.querySelector("div[announcements_container]").addEventListener("paste", function(e) {
    e.preventDefault();
    var text = e.clipboardData.getData("text/plain");
    document.execCommand("insertHTML", false, text);
});

然而,问题在于当我使用这段代码时,我的 JQuery 文本编辑器文本框会出现问题,如下所示:

enter image description here

JQTE的HTML代码:

<textarea class="jqte" style="margin-bottom: -20px;" rows="50" cols="50" name="body" id="body"></textarea>

通常它看起来像这样:

enter image description here

有人能帮我吗?谢谢。

1个回答

4

嗯,当我在jqte演示页面上运行时,您的代码片段似乎对我有效。它将未格式化的文本粘贴到顶部框中。以防万一,我将我们的execCommand更改为insertText,因为这正是我们想要的。

document.querySelector("div.jqte_green_editor").addEventListener("paste", function(e) {
    e.preventDefault();
    var text = e.clipboardData.getData("text/plain");

    document.execCommand("insertText", false, text);
});

你确定选择器 div[announcements_container] 是正确的吗?也许尝试使用 div.announcements_container 代替。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接