gpt4 book ai didi

javascript - execCommand中“粘贴为纯文本”的JavaScript技巧

转载 作者:行者123 更新时间:2023-11-27 22:55:33 25 4
gpt4 key购买 nike

按照此处介绍的示例,我有一个基于execCommand的基本编辑器。有三种方法可以在execCommand区域内粘贴文本:


Ctrl + V
右键单击->粘贴
右键单击->作为纯文本粘贴


我想只粘贴没有任何HTML标记的纯文本。如何强制前两个动作粘贴纯文本?

可能的解决方案:我能想到的方法是为(Ctrl + V)的按键事件设置侦听器,并在粘贴之前剥离HTML标记。


这是最好的解决方案吗?
避免粘贴任何HTML标记是否安全?
如何将侦听器添加到右键单击->粘贴?

最佳答案

它将拦截paste事件,取消paste,并手动插入剪贴板的文本表示形式:
http://jsfiddle.net/HBEzc/
这应该是最可靠的:


它捕获各种粘贴(Ctrl + V,上下文菜单等)
它使您可以直接以文本形式获取剪贴板数据,因此您不必进行难看的修改即可替换HTML。


不过,我不确定是否支持跨浏览器。

editor.addEventListener("paste", function(e) {
// cancel paste
e.preventDefault();

// get text representation of clipboard
var text = (e.originalEvent || e).clipboardData.getData('text/plain');

// insert text manually
document.execCommand("insertHTML", false, text);
});

关于javascript - execCommand中“粘贴为纯文本”的JavaScript技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59268336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com