水滴石主要分享一些生活中的经验和IT技术自学过程中积累的技术、学习资源和软件资源等。座右铭:坚持+自律=开挂人生。
当前位置: 首页 > 网站建设 > jquery中,input获得焦点时光标自动定位到文字后面

jquery中,input获得焦点时光标自动定位到文字后面

标签:

在编辑有值得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://www.shuidi365.cn/site/96.html

此博客主要用来分享、推荐自己日常、学习过程中感觉比较实用的经验、IT技术和一些比较好的资源(各种软件、各种开发手册、各种学习资料、各种视频教程等),希望对大家有所帮助,有问题请留言,欢迎来交流,联系QQ邮箱/微信:342807450

合作伙伴
冀ICP备19020226号-1 冀公网安备 13010902000246号