Когда пользователь выбирает фрагмент текста на веб-странице, есть ли способ сохранить этот текст выделенным, даже если пользователь нажимает где-то еще на этой странице? - PullRequest
1 голос
/ 10 февраля 2012

Допустим, пользователь выбирает (своей мышью) первую строку абзаца. Позже он / она выбирает еще одну строку вниз по странице. Есть ли способ сохранить выделенный ранее текст (в дополнение к вновь выделенному тексту) выделенным? Как я могу добиться этого?

Большое спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Да, вы можете сделать это с помощью комбинации проверки события mouseDown / mouseUp и document.selection / getSelection.

Общая логика такова:

  1. При нажатии мыши сохранить текущее значение document.selection в массив, если была выделена
  2. При наведении курсора проверьте, выбрано ли что-нибудь. Если это так, добавьте его в тот же массив
  3. Повторить выделение вручную, добавив каждый диапазон в этом массиве

Вам следует использовать что-то для реализации кросс-браузерной реализации. Проверьте фрагмент этого парня

0 голосов
/ 10 февраля 2012

Я так не считаю. Подсветка не контролируется на стороне сервера / локального хоста; Это функция, обычно встроенная в операционную систему, которая позволяет выделять текст, а иногда это функция в веб-браузере.

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

...