Get selected text in a textbox

2019-01-26 08:42发布

How can I get the character positions of the selected text in an HTML <input> textbox element? window.getSelection() doesn't work inside textboxes.

3条回答
劫难
2楼-- · 2019-01-26 08:53

If you're using jQuery, take a look at the jQuery Caret plugin: 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
查看更多
\"骚年 ilove
3楼-- · 2019-01-26 08:59

........

<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>

Reference: http://www.codetoad.com/javascript_get_selected_text.asp

查看更多
该账号已被封号
4楼-- · 2019-01-26 08:59

In case you don't need to support really old versions of Internet Explorer, just use the element's selectionEnd and selectionStart properties.

查看更多
登录 后发表回答