过去,当您使用 javascript 设置 textarea
的 value
时,Firefox 允许用户撤消此更改(例如,通过按 ctrl+Z) .然而,这不再有效,而且似乎没有任何合适的替代方案。
我试过使用document.execCommand
修改textarea
,但是这需要你选择你想修改的文本,而且它没有出现可以自动选择 textarea
中的文本。
我也听说过 document.createEvent("TextEvent")
但我找不到太多相关信息。看来你只能在光标处插入文本,而我也需要删除文本。
创建我自己的撤消/重做系统并捕获 ctrl+Z/Y 按下不是可接受的解决方案。
这里已经提出了类似的问题,但它们只涉及在光标处插入文本,而不是完全改变文本区域的值。
最佳答案
您可以使用 setSelectionRange
API 手动操作文本区域的选择。从 textarea.selectionStart
和 textarea.selectionEnd
获取原始值。
关于javascript - 更改 <textarea> 的值并允许用户撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51796009/