2

我在我的网站上使用插件 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 文本编辑器文本框会中断,如下所示:

在此处输入图像描述

JQTE 的 HTML:

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

它通常看起来像这样:

在此处输入图像描述

有人可以帮帮我吗?谢谢。

4

1 回答 1

4

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

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

于 2015-12-28T19:16:06.700 回答