3

如何在 tinyMCE 中获取当前插入符号的位置?参考这个问题“ Get cursor position or number of line of which cursor is in TinyMCE ”提到了如何在tinyMCE中获取行号,但是我找不到关于如何获取实际插入符号位置的参考?我需要这个,因为我使用 tinyMCE 作为实时协作的文档,因此我需要知道客户在同一个文档中书写的插入符号的位置,以便我在某些事件(击键、点击等)上广播位置。 ) 并在位置上绘制自定义插入符号,以便一位客户知道另一位客户在哪里写作或编辑。

我找到的唯一解决方案是在内容之后添加一个跨度,选择它并删除它,如下所示:

     <span id="caret_pos_holder"></span>

然后插入后,执行此操作...

     ed.selection.select(ed.dom.select('span#caret_pos_holder')[0]); //select the span
     ed.dom.remove(ed.dom.select('span#caret_pos_holder')[0]); //remove the span

这是解决它的唯一方法吗?

编辑:实际上上面只是将光标的位置设置到内容的末尾,我已经使用书签处理了一些事情。

是否有可能没有任何东西可以获取光标的位置?

4

1 回答 1

1
var sel = ed.selection.getSel();

将当前选择作为选择对象返回。然后您可以查询sel.anchorNodesel.anchorOffset获取当前插入符号的位置。

将此数据广播到其他客户端比尝试将位置提取为数字更容易,但如果确实有必要,您可以从上面给出的位置爬上 DOM。

于 2013-05-12T15:57:23.033 回答