数日前、Internet Explorer でテキストを更新する方法に関する質問を投稿しました。どうやら、使用されている方法は Firefox でも機能しません。
これにより、テキストエリアの値を変更し、元に戻す/やり直しキューも更新する方法があるかどうかを考えさせられました(ctrl-Z
またはを呼び出すdocument.execCommand('undo');
)
これまでのところ、2 つの可能性が見つかりましたが、すべてのブラウザーで機能するとは限りません。
オプション1:
var event = document.createEvent('TextEvent');
event.initTextEvent('textInput', true, true, null, text, 9, "en-US");
textarea.focus();
textarea[0].setSelectionRange(selection.start, selection.end);
textarea[0].dispatchEvent(event);
注: IE (まったく) と Firefox では動作しないようです
オプション 2 :
document.execCommand("insertText", false, "the text to insert");
IE では動作しません (9 でテスト済みですが、まったく実装されていないようです)。他のブラウザーについてはわかりません。