我在我的网站上使用插件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文本编辑器文本框中断,如下所示:
JQTE的HTML:
<textarea class="jqte" style="margin-bottom: -20px;" rows="50" cols="50" name="body" id="body"></textarea>
通常看起来像这样:
有人可以帮帮我吗?感谢。
答案 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
。