这里需要用到input元素的两个属性:

selectionStart:选区开始位置;
selectionEnd:选区结束位置。

二者代表了选中区域的左右边界。
两个值默认都是0,所以当我们使用input.focus()方法时,默认光标在文本的开头。(注意这里并不是说每次focus调用光标都出现在开头。是因为selectionStart的和selectionEnd的值随着文本输入而改变,因而光标的位置随之改变。)

//选中所有文字

input.selectionStart = 0; //选中区域左边界
input.selectionEnd = input.value.length; //选中区域右边界
//上面的代码可以选中输入框的全部内容。和下面效果完全一致:
input.select();

//选中部分文字
input.selectionStart = 1;//选中区域左边界
input.selectionEnd = 4; //选中区域右边界

获取选中的文本内容

var selection = input.value.substring(input.selectionStart,input.selectionEnd);

标签: none

添加新评论