我正在使用带有 javascript 的 execCommand 将文本插入到可编辑的 iframe 中,如下所示:
element.execCommand("insertHTML",false,"some text");
任何人都知道如何插入该文本而不是光标左侧的第一个字符?那么与在执行上述操作之前按退格键的效果相同吗?
我正在使用带有 javascript 的 execCommand 将文本插入到可编辑的 iframe 中,如下所示:
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");
参考:
PS 我对可编辑的 iframe 或选择对象非常熟悉,所以如果你的文本中有任何特殊字符的 html,它可能比这复杂得多。此外,您可能需要针对不同的浏览器对其进行调整。