更改<textarea>的值,并允许用户撤消

时间:2018-08-11 02:41:13

标签: javascript html firefox textarea undo-redo

过去,当您使用JavaScript设置 textarea value 时,Firefox允许用户撤消此更改(例如,按ctrl + Z) 。但是,这不再起作用,并且似乎没有任何不错的选择。

我尝试使用 document.execCommand 修改 textarea ,但这需要您选择要修改的文本,并且不会出现以便可以自动选择 textarea 中的文本。

我也听说过 document.createEvent(“ TextEvent”),但是我找不到很多有关此的信息。看来您只能在光标处插入文本,而我也需要删除文本。

创建自己的撤消/重做系统并捕获 ctrl + Z / Y 印刷机是不可接受的解决方案。

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

1 个答案:

答案 0 :(得分:1)

您可以使用setSelectionRange API来手动操纵文本区域的选择。从textarea.selectionStarttextarea.selectionEnd获取原始值。