我试图用谷歌搜索这个问题,但谷歌不知道这个问题。我正在使用 Qt 4.8.1 QtWebkit 2.2.3+Javascript 来实现某种 Html-Editor。很难用文字解释这个问题,所以我做了一些截图(链接在消息末尾)。
1)所以起初我只插入普通文本。
2) 在我再添加一个单词后,使用这个 javascript 函数将其包装在标签中
函数拼写错误的单词(id) { var sel = rangy.getSelection(); var highlightDiv = document.createElement('span'); highlightDiv.className = "拼写错误"; highlightDiv.id = "拼写错误_" + id; range.surroundContents(highlightDiv); var space = document.createTextNode("\xa0"); highlightDiv.parentNode.insertBefore(空间,highlightDiv.nextSibling); range.setStartAfter(空格); range.setEndAfter(空格); sel.removeAllRanges(); sel.setSingleRange(范围); }
3)在我再按一次空格后。Webkit 自己选择所有文本直到“span”,我不能删除这个选择,只有再手动选择一次。
http://i.stack.imgur.com/PprG0.png - 截图
所以也许有人知道如何解决这种行为?
最好的问候
保罗