在文本框中获取所选文本

时间:2010-03-04 08:45:46

标签: javascript html input textbox

如何在HTML <input>文本框元素中获取所选文本的字符位置? window.getSelection()在文本框中不起作用。

3 个答案:

答案 0 :(得分:12)

如果您正在使用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

答案 1 :(得分:4)

........

<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 :(得分:2)

如果您不需要支持真正旧版本的Internet Explorer,只需使用元素的selectionEndselectionStart属性。