Javascript 更改a的值<;textarea>;并允许用户撤消

Javascript 更改a的值<;textarea>;并允许用户撤消,javascript,html,firefox,textarea,undo-redo,Javascript,Html,Firefox,Textarea,Undo Redo,过去,当您使用javascript设置文本区域的值时,Firefox允许用户撤消此更改(例如,按ctrl+Z)。然而,这已经不起作用了,而且似乎没有任何合适的替代方案 我已尝试使用document.execCommand修改文本区域,但这要求您选择要修改的文本,并且似乎无法在文本区域中自动选择文本 我也听说过document.createEvent(“TextEvent”),但我找不到太多关于这方面的信息。看起来您只能在光标处插入文本,我还需要删除文本 创建我自己的撤消/重做系统并捕获ctrl+

过去,当您使用javascript设置
文本区域的
值时,Firefox允许用户撤消此更改(例如,按ctrl+Z)。然而,这已经不起作用了,而且似乎没有任何合适的替代方案

我已尝试使用
document.execCommand
修改
文本区域
,但这要求您选择要修改的文本,并且似乎无法在
文本区域
中自动选择文本

我也听说过
document.createEvent(“TextEvent”)
,但我找不到太多关于这方面的信息。看起来您只能在光标处插入文本,我还需要删除文本

创建我自己的撤消/重做系统并捕获ctrl+Z/Y按键不是一个可接受的解决方案


这里已经提出了类似的问题,但它们只涉及在光标处插入文本,而不完全更改textarea的值。

您可以使用
setSelectionRange
API手动操作textarea的选择。从
textarea.selectionStart
textarea.selectionEnd
获取原始值