Chrome HTML document.execCommand('inserthtml'插入到下面的表格单元格中

时间:2012-06-07 15:12:53

标签: javascript html dom google-chrome ckeditor

我正在使用ckEditor并正在处理代码段/文本替换功能。我有片段,可以是纯文本字符串或HTML字符串(如段落元素)。我正在使用document.execCommand('inserthtml',false,html)来插入内容,并且在大多数情况下都能正常工作。

但是,当我尝试使用此方法将内容插入表格单元格时,如果光标在最后一个单元格中,则内容会在光标位于单元格之后的单元格中结束,如果光标位于最后一个单元格中,则会在表格之外结束。

我的搜索没有提供有关这种情况的大量信息,我真的不明白为什么Chrome会以这种方式行事。这是打算行为吗?有没有更好的方法来插入任意html,保持光标位置?

2 个答案:

答案 0 :(得分:2)

这似乎是一个WebKit错误。您可以使用“InsertHTML”命令的自定义替换来解决此问题。以下演示使用来自my answer to a related question的函数,保留插入位置并在IE中工作< 9(与“InsertHTML”命令不同,不是)。

http://jsfiddle.net/timdown/7SZjm/2/

答案 1 :(得分:2)

使用CKEditor API我在API demo

中没有看到这样的问题

使用Chrome,我插入了一个表,然后使用了插入HTML按钮,它运行正常。