根据execCommand下面介绍的示例,我有一个基本的编辑器。有三种方法可以在execCommand区域内粘贴文本:
execCommand
Ctrl
V
我想只粘贴没有任何HTML标记的纯文本。如何强制前两个动作粘贴纯文本?
可能的解决方案: 我想到的方法是为(Ctrl+ V)的keyup事件设置侦听器,并在粘贴之前剥离HTML标记。
它将拦截paste事件,取消paste,并手动插入剪贴板的文本表示形式: 这应该是最可靠的:
paste
不过,我不确定是否支持跨浏览器。
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); });