我知道 FireFox 可以很好地处理execCommand
,但这次我觉得我遇到了一个错误。
但也许我只是忽略了一些东西。
我正在执行textarea
,我正在执行insertText
只要我离开textarea
或写入它就可以正常工作。当我想第二次执行时,它是用文本写的,而不是用值写的。是因为insertText
?
以下是我的例子:
<!doctype html>
<html>
<head>
<title>Test</title>
</head>
<body>
<textarea designMode="on" id="textarea"></textarea>
<a href="#" onclick="document.getElementById('textarea').focus(); document.execCommand('insertText', false, 'Text'); return false;">Insert text</a>
<a href="#" onclick="document.getElementById('textarea').value = ''; return false;">Reset</a>
</body>
</html>
有没有人有解决方案?很遗憾,无法使用div contenteditable
。
在 FireFox 41.0.2 中测试,未启用附加组件。
答案 0 :(得分:3)
document.execCommand('insertText', false, 'Text')
命令textarea
在Firefox中不起作用。
答案 1 :(得分:0)
textarea应该 deginMode On,而不是 Contenteditable
答案 2 :(得分:0)
要使跨浏览器的零依赖性库插入insertText, 请检查一下:D https://github.com/fritx/insert-text-2
import insert from 'insert-text-2'
editor.focus()
insert('Hello world!')
相关链接: -https://github.com/fritx/vue-at/issues/22#issuecomment-331762939 -Firefox document.execCommand('insertText', ...)