在javascript中如何设置textbox的光标的位置

上一篇讲了去和获取文本框内光标的位置。

这一篇讲讲如何设置文本框光标的位置。

 

先讲讲应用场景

为什么要设置文本框光标的位置呢?

在很多开发过程中,对于文本框的录入需要做一些特殊处理(例如,检测屏蔽字符等),如果使用了keyup事件,也就是在keypress之后的事件,对文本框的文本做了处理(例如replace了一些屏蔽字符等),光标往往被设置成到了文本的最后位置。这样的交互性不好。好的交互应该是对文本框中的文本做了特殊处理后,光标的位置应该还是原来的位置,这样才能保证用户输入的文本的流畅性(尤其是插入文本的时候)。

 

 

方法:

可以使用上一篇讲的先获取原来光标的位置。

处理文本。

设置光标位置。

 

代码实例:

<SCRIPT     language=javascript>            
  function   moveAtCaret(obj,n)  
  {  
          //将obj中光标向dirc方向移动n个字符    
          obj.focus();    
          var   rng=document.selection.createRange();    
          rng.moveStart("character",   n);    
          rng.select();    
  }    
  </SCRIPT>    
  <body     οnlοad="moveAtCaret(show,5)">  
  <input   id="show"   value="1234567890">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值