Я искал дни, но не смог найти одно твердое решение, чтобы получить начало/конец выбора в Internet Explorer, я пробовал решение this и this.диапазон выбора в IE
Оба они связаны с использованием document.selection.createRange(), приведенный ниже код будет работать достаточно хорошо, но если вы идете на новую строку (нажмите введите один или несколько раз), а затем попытаться получить начало выбора/end, вы закончите, прежде чем нажать клавишу ввода. Из того, что я вижу, createRange() не будет выбирать последние пустые разрывы строк, я не хочу, чтобы код становился слишком беспорядочным, так есть ли другое решение для этого?
function selecetion_range()
{
var range = document.selection.createRange();
var stored_range = range.duplicate();
stored_range.moveToElementText(textarea[0]);
stored_range.setEndPoint('EndToEnd', range);
return {
start: stored_range.text.replace(/\r/g,'').length - range.text.replace(/\r/g,'').length,
end: stored_range.text.replace(/\r/g,'').length
}
}
редактировать:
Для выяснения вопроса, позволяет сказать, что мой курсор находится в конце этой цитаты:
"какой-то случайный текст
< здесь >"
раз я использую приведенный выше код начало выбор будет:
«какой-то случайный текст < здесь >»
@ Dennis: вы должны отправить ответ со ссылкой на свое решение и принять его. –