この質問をグーグルで検索しようとしましたが、グーグルはこの問題について知りません。私は Qt 4.8.1 QtWebkit 2.2.3+Javascript を使用して、ある種の Html-Editor を実装しています。問題をテキストで説明するのは難しいので、スクリーンショットを作成しました (メッセージの最後にリンクがあります)。
1)最初は通常のテキストだけを挿入します。
2) もう 1 つの単語を追加し、この JavaScript 関数を使用してタグでラップした後
関数のスペルミスWord(id)
{
var sel = rangy.getSelection();
var highlightDiv = document.createElement('span');
highlightDiv.className = "スペルミス";
highlightDiv.id = "misspelled_" + id;
range.surroundContents( highlightDiv );
var space = document.createTextNode("\xa0");
highlightDiv.parentNode.insertBefore(スペース、highlightDiv.nextSibling);
range.setStartAfter(スペース);
range.setEndAfter(スペース);
sel.removeAllRanges();
sel.setSingleRange(範囲);
}
3) もう一度スペースを押した後。Webkit は、「スパン」までのすべてのテキストを単独で選択します。この選択を削除することはできません。もう一度手動で選択する必要があります。
http://i.stack.imgur.com/PprG0.png - スクリーンショット
誰かがこの動作を修正する方法を知っているのでしょうか?
敬具
ポール