根据规范document.execCommand('insertText', false, 'Pasted text')
在插入点插入给定的纯文本(删除选择)。
这在 Chromium 和 Opera 的文本区域和输入字段中确实有效,但在 Firefox 中不起作用,请参阅此小提琴。
有什么方法可以让它在火狐中工作吗?
您需要
添加 contentEditable="true"
属性。
https://jsfiddle.net/99fysok7/4/
不过也有一些怪癖。这似乎不适用于 Firefox 上的输入字段。
您可以使用selectionStart
en selectionEnd
并替换所选文本,如下所示:
el=document.activeElement;
el.value=el.value.substring(0,el.selectionStart)+
"Pasted Text"
+el.value.substring(el.selectionEnd);