我试图用谷歌搜索这个问题,但谷歌不知道这个问题。我正在使用 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 - 截图
所以也许有人知道如何解决这种行为?
最好的问候
保罗