Я пытался найти этот вопрос в Google, но Google не знает об этой проблеме.
Я использую Qt 4.8.1 QtWebkit 2.2.3 + Javascript для реализации своего рода Html-редактора.
Трудно объяснить проблему с помощью текста, поэтому я сделал несколько скриншотов (ссылка в конце сообщения).
1) Так что сначала я вставляю просто обычный текст.
2) После того, как я добавлю еще одно слово и заключу его в тег, используя эту функцию javascript
функция misspelledWord (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 (space, highlightDiv.nextSibling); range.setStartAfter (пробел); range.setEndAfter (пробел); sel.removeAllRanges (); sel.setSingleRange (диапазон); }
3) После того, как я нажму пробел еще раз. Webkit выделяет весь текст до «span» сам по себе, и я не могу удалить этот выбор, только если выделите его еще раз вручную.
http://i.stack.imgur.com/PprG0.png — скриншоты
Так может кто-нибудь знает как исправить это поведение?
С наилучшими пожеланиями
Павел
Задача ещё не решена.
Других решений пока нет …