Получить выбранный текст на странице - PullRequest
0 голосов
/ 08 августа 2011

Как бы вы получили текущий выбранный текст внутри текстовой области (и изменили бы его)?

Я видел событие выбора, которое можно прослушивать, но мне было интересно, есть ли способ просто получить выбранный в данный момент текст.

Кроме того, какую технику вам нужно использовать, чтобы иметь возможность изменять этот конкретный раздел текста внутри текстовой области? Я предполагаю, что есть какой-то способ узнать, какова позиция выделения в содержимом текстовой области в целом?

То, что я хочу сделать, это взять выделение и изменить его, или обернуть его в определенные теги и т. Д., Как вы можете сделать в текстовом редакторе stackexchange.

Ответы [ 5 ]

3 голосов
/ 08 августа 2011

Если вам требуется только поддержка новейших браузеров, вы можете использовать свойства selectionStart и selectionEnd, которые отображают позиции символов текста, выбранного в текстовой области.Вы не можете изменить только выделенный текст, но обновив значение, вы можете использовать setSelectionRange для повторного выбора текста.

2 голосов
/ 08 августа 2011

Я много раз публиковал то, что я считаю определяющей функцией для этого во всех браузерах (включая IE <9) в переполнении стека. Вот один пример: </p>

IE document.selection.createRange не содержит начальных или конечных пустых строк

Я бы также порекомендовал мой плагин jQuery для этого, который включает эту функцию и другие для вставки, удаления, окружения или замены выделенного текста, который звучит именно так, как вы хотите. Это также единственный плагин jQuery для выбора текстовой области, о котором я знаю, который корректно работает с переносами строк в IE <9. </p>

1 голос
/ 08 августа 2011

плагин выбора поля jquery. Скачать здесь примеров на сайте.

1 голос
/ 08 августа 2011

С этой страницы

http://www.netadmintools.com/art466.html

function display(txtarea) {
  var sl = (txtarea.value)
     .substring(txtarea.selectionStart, txtarea.selectionEnd);        
} 


<body onload="thisForm=document.frmKey;">
0 голосов
/ 08 августа 2011

Селектор :: selection также может работать.http://www.w3schools.com/cssref/sel_selection.asp

...