解决方法
您可以模拟textInput事件来操作textarea的内容.这样做的改变是通过撤消/重做来尊重的,我想(我知道他们在Safari中)
var element = document.getElementById('someTextarea'); var text = 'This text will be inserted in the textarea'; var event = document.createEvent('TextEvent'); event.initTextEvent('textInput',true,null,text); element.dispatchEvent(event); // fire the event on the the textarea
基本上,文本被插入,好像你自己粘贴了.所以如果选择了某些东西,它将被替换为文本.如果没有选择,文本将被插入插入符号的位置.并且撤消/重做应该正常工作(一次删除/重做整个插入的字符串),因为浏览器就像您自己键入/粘贴一样.
正如我所说,我知道这在Safari中具有撤销/重做的魅力,所以我认为它也适用于Chrome.
原文地址:https://www.jb51.cc/js/152734.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。