2

我正在为 TinyMCE 修改现有的拼写检查插件。

这是应该发生的事情: 1. 用户点击“空格”并运行拼写检查。2. 如果单词拼写错误,单词会被 span 包裹起来并带有红色下划线

我发现发生的事情是,当用户点击空格键时,单词确实会进行拼写检查,但光标会弹回到刚刚输入的单词的末尾(而不是空格所在的位置)(您可以在http: //mail.solidhouse.com/webmail2/test.html )

这是我的伪代码: var b = this.editor.selection.getBookmark(); //对于每个节点 node.nodeValue.replace(r5, '$1$2'); this.editor.selection.moveToBookmark(b);

我怀疑 moveToBookmark 将光标保持在元素内,但我不知道该怎么做才能解决这个问题。

(我尝试增加 b.start 和 b.end 但这不起作用)

我知道这很难解释。非常感谢您对此的任何想法。

4

2 回答 2

1

如果您还没有尝试将书签开始/结束增加 2 而不是 1。由于下划线在拼写错误的单词周围添加了一个标签,因此需要在书签中考虑另外 2 个位置:跨度的每一侧都有 1 个。

于 2009-10-28T11:25:17.740 回答
0

你能通过抓住它的父元素来摆脱它吗?

this.parentNode.moveToBookmark(b);

或类似的东西。

于 2008-11-16T04:01:43.860 回答