この質問をグーグルで検索しようとしましたが、グーグルはこの問題について知りません。私は 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 - スクリーンショット
誰かがこの動作を修正する方法を知っているのでしょうか?
敬具
ポール