Расширение выделения текста с помощью Javascript - PullRequest
0 голосов
/ 25 ноября 2010

Если пользователь выбирает часть текста, я хотел бы расширить этот выбор до начала первой строки и до конца последней строки, если они выбирают в середине.

Какой лучший способ сделать это?

1 Ответ

2 голосов
/ 25 ноября 2010

Используйте setSelectionRange (beg, end) или selectionStart / selectionEnd, чтобы изменить выбор.В основном из текущего диапазона выбора вы пытаетесь получить индекс (начало, конец) индексов диапазона, которые вы пытаетесь выбрать, а затем измените выбор.Предполагая, что вы хотите обернуть / расширить выделение до ближайших «NEWLINE», вот пример кода: var x = $("#input input:first")[0]; var value = x.value; var NEWLINE = '\n'; // whatever is your newline delimiter. var start = value.substr(0, x.selectionStart).lastIndexOf(NEWLINE); if (start == -1) start = 0; var end = value.substr(x.selectionEnd).indexOf(NEWLINE); if (end == -1) end = value.length;</p> <p>x.setSelectionRange(start, end); or x.selectionStart = start, x.selectionEnd = end;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...