在编辑有值得input输入框时,光标总是自动定位到第一位。为了提高编辑效率,想实现当input获得焦点后,利用js将光标自动定位到input中文字的最后面。
实现方法一
html代码
<input id="test" type="text" />
jquery代码
var value=$("#test").val(); $("#test").val("").focus().val(value);
实现方法二
目的:利用contenteditable=”true”模拟输入框时,focus()方法会将光标定位在文本的首位,需要将光标挪到最后一位。
实现代码:
function setFocus(el) { el = el[0]; // jquery 对象转dom对象 el.focus(); var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); //判断光标位置,如不需要可删除 if(sel.anchorOffset!=0){ return; }; sel.removeAllRanges(); sel.addRange(range); }
两种方法都能实现将光标定位到文字的最末位,但是对比,第一个jquery代码比较简洁,理解简单,建议使用。
更多相关推荐
版权保护:本文《jquery中,input获得焦点时光标自动定位到文字后面》由<我爱分享>原创,转载请保留链接:http://shuidi365.cn/site/96.html
此博客主要用来分享、推荐自己日常、学习过程中感觉比较实用的经验、IT技术和一些比较好的资源(各种软件、各种开发手册、各种学习资料、各种视频教程等),希望对大家有所帮助,有问题请留言,欢迎来交流,联系QQ邮箱/微信:342807450