将光标置于某表单元素的最后(textarea createTextRange setSelectionRange)

分类:Javascript| 发布:佚名| 查看: | 发表时间:2014/2/7

为了增加用户体验,在工作中难免要对textarea动态插入一些内容,插入完成后又想让光标定位于textarea的最后,各浏览器对这个的解释有些差异,下面整理了一个兼容浏览器的方法 toTextEnd ,此方法接受一个参数,该参数为要定位光标的目标元素【可编辑表单元素】。

其实理论很简单,在IE中采用createTextRange方法,非IE中采用setSelectionRange方法进行光标定位。

代码中的cn.ie是进行IE检测,使用代码的朋友可以换成自己的方法才会起作用,否则会报错。

看代码:

function toTextEnd(elem){// 将光标置于某表单元素的最后
 if(cn.ie){
  var range = elem.createTextRange();
  range.moveStart("character", elem.value.length);
  range.collapse(true);
  range.select();
 }else{// 非IE情况下将光标置于文本框最后
  elem.setSelectionRange(elem.value.length, elem.value.length);
  elem.focus();
 }
};
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/javascript/937.html