2015-12-28 29 views
1

我在我的网站上使用插件JQuery文本编辑器。有时候,当用户从另一个网站复制并粘贴预先格式化的HTML文本到插件的文本框中时,它将不正确地渲染并且中断部分字符串。从数据库中检索后可以看到损坏的文本。JQuery文本编辑器粘贴不格式化

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

我相信这是有关JQuery文本编辑器格式不正确的问题。

我发现下面这个函数对堆栈看起来像它的工作:

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

HTML为JQTE:

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

它通常是这样的:

enter image description here

任何人可以帮助我吗?谢谢。

回答

1

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

相关问题