При использовании методов выделения текста и восстановления выделенного текста на странице я обнаружил, что выполнение execCommand('insertHTML...
inbetween вызывает разрыв сохраненного выделения.
Это пример того, как текст выделяется и восстанавливается.
// Get Selection
var sel = window.getSelection().getRangeAt(0);
// Clear Selections
window.getSelection().removeAllRanges();
// Restore Selection
window.getSelection().addRange(sel)
Это работает нормально, однако после запуска execCommand('insertHTML..
выборки endOffset
устанавливает себе то же значение, что и выборки startOffset
Есть ли причина для этого? Что более важно, есть ли способ обойти это?
Полный пример ошибки, дополненный некоторыми основными логами консоли, можно посмотреть здесь.
http://jsfiddle.net/blowsie/Y8pJ7/
Задача этой скрипки - выделить текст, преобразовать его в верхний регистр и затем снова выбрать текст.