JQuery文本编辑器粘贴没有格式

时间:2015-12-28 16:44:23

标签: javascript jquery html jqte

我在我的网站上使用插件JQuery文本编辑器。有时,当用户将预先格式化的HTML文本从其他网站复制并粘贴到插件的文本框中时,它将呈现错误并中断部分字符串。从数据库中检索后可以看到损坏的文本。

如果您手动编写此文本,或从框中复制并重新制作,则显示正常。

我认为这与JQuery Text Editor的格式不正确有关。

我在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 个答案:

答案 0 :(得分:2)

嗯,当我在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