1
我使用的execCommand用JavaScript插入文字转换成可编辑的I帧像这样:如何在使用带可编辑iframe的execCommand()时执行与退格键相同的操作?
element.execCommand("insertHTML",false,"some text");
任何人都知道如何处理文本,而不是第一个字符插入光标左边?那么在执行上述操作之前,按下退格键的效果是一样的吗?
我使用的execCommand用JavaScript插入文字转换成可编辑的I帧像这样:如何在使用带可编辑iframe的execCommand()时执行与退格键相同的操作?
element.execCommand("insertHTML",false,"some text");
任何人都知道如何处理文本,而不是第一个字符插入光标左边?那么在执行上述操作之前,按下退格键的效果是一样的吗?
似乎没有简单的方法将按键发送到可编辑的iframe,因此您可能需要找到某种解决方法。最简单的方法是从iframe获取内容,操作它们,然后将它们放回iframe。
如: 选择iframe中的所有文本与
var selection = element.execCommand("selectAll");
删除最后一个字符 - 切片选择
selection = selection.baseNode.data.slice(0, -1)
删除所有内容
element.execCommand("Delete")
追加切片选择+新文字
个element.execCommand("insertHTML",false,selection);
element.execCommand("insertHTML",false,"some text");
参考文献:
附:我非常熟悉可编辑的iframe或选择对象,因此如果您的文本中有任何特殊字符的html,它可能比这更复杂。你也可能需要为不同的浏览器调整它。
嗨瓦伦蒂娜,谢谢你的回复。由于我正在制作Chrome扩展程序,因此该解决方案需要仅在Chrome浏览器中运行,并且Chrome会在代码的第二行发出错误信息......'无法读取未定义的属性'数据'...但我有找到(在搜索结果后),下面的技巧:'element.getSelection()。modify(“extend”,“backward”,“character”);' –