Получить выделенный текст в текстовом поле - PullRequest
9 голосов
/ 04 марта 2010

Как получить положение символов выделенного текста в элементе текстового поля HTML <input>? window.getSelection() не работает внутри текстовых полей.

Ответы [ 3 ]

12 голосов
/ 04 марта 2010

Если вы используете jQuery, взгляните на плагин jQuery Caret: jCaret

// Get start pos in intput box with id="box1"
$("#box1").caret().start

// Get end pos
$("#box1").caret().end

// Get selected text
$("#box1").caret().text
4 голосов
/ 04 марта 2010

........

<script language=javascript>
function getSelText()
{
    var txt = '';
     if (window.getSelection)
    {
        txt = window.getSelection();
             }
    else if (document.getSelection)
    {
        txt = document.getSelection();
            }
    else if (document.selection)
    {
        txt = document.selection.createRange().text;
            }
    else return;
document.aform.selectedtext.value =  txt;
}
</script>

<input type="button" value="Get selection" onmousedown="getSelText()"> 

<form name=aform >
<textarea name="selectedtext" rows="5" cols="20"></textarea>
</form>

Ссылка: http://www.codetoad.com/javascript_get_selected_text.asp

2 голосов
/ 28 апреля 2013

Если вам не нужно поддерживать действительно старые версии Internet Explorer, просто используйте свойства элемента selectionEnd и selectionStart.

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