我在我的网站上使用插件 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>
它通常看起来像这样:
有人可以帮我吗?谢谢。
嗯,当我在jqte http://jqueryte.com/demos演示页面。它将未格式化的文本粘贴到顶部框中。以防万一,我改变了我们的execCommand https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand#Commands to 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
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)