Firefox document.execCommand('insertText',...)

时间:2015-11-02 15:00:37

标签: html firefox textarea execcommand

我知道 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 中测试,未启用附加组件

3 个答案:

答案 0 :(得分:3)

document.execCommand('insertText', false, 'Text')命令textarea在Firefox中不起作用。

查看错误: https://bugzilla.mozilla.org/show_bug.cgi?id=1220696

答案 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', ...)