如何在HTML <input>
文本框元素中获取所选文本的字符位置? window.getSelection()
在文本框中不起作用。
答案 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>
答案 2 :(得分:2)
如果您不需要支持真正旧版本的Internet Explorer,只需使用元素的selectionEnd
和selectionStart
属性。