JS获取文本框焦点光标位置、选中起始位置、终止位置、选择内容

本文介绍了在非IE和IE浏览器下如何获取和设置文本框的焦点光标位置、选中起始位置、终止位置以及选择的内容。在非IE浏览器中,主要利用input元素的selectionStart和selectionEnd属性;在IE浏览器下,通过createTextRange()创建文本选区对象,并使用moveStart、moveEnd和collapse方法进行操作。
摘要由CSDN通过智能技术生成

基本的认识:   
文本选中区域光标:页面中闪烁的光标其实就是特殊的宽度为0的选区。 简单理解就是选区的左右边界交叉形成了光标。  有了这个概念下面的内容就很好理解了。

非IE浏览器下的实现

这里需要用到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; //选中区域右边界
上面的代码选中了234三个字符。

我们如何获取选中的文本内容呢?  因为已经知道了selectionStart和selectionEnd,所以用字符串的substring方法

var selection = input.value.substring(input.selectionStart,input.selectionEnd);
光标位置

  设置光标

input.selectionStart = 5; //选中区域左

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值