text和textarea中的range处理

1,在text中按后退键,然后得到光标位置后,光标会移动到text的最前面,为了移动到文本的最后面,
加了4行代码(见注释)。这里并没有彻底搞明白,先立此存照。
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=GBK">
        <script src="../pub/jquery/jquery.pack.js"></script>
        <script>
     function getTextCaretPos(textObj){
        var curRange = document.selection.createRange();
        var tbRange = textObj.createTextRange();
        tbRange.collapse(true);
        tbRange.select();
        var headRange = document.selection.createRange();
        headRange.setEndPoint("EndtoEnd", curRange);
        var pos = headRange.text.length;
        return pos;
    }
    
    jQuery(document).ready(function(){
       jQuery('#test').keyup(function(event){
 switch(event.keyCode){
 case 8:
 $('#pos').html(getTextCaretPos($('#test').get(0)));
//以下4行移动光标到文本最后面
   $('#test')[0].focus();
    var rng =$('#test')[0].createTextRange();
    rng.collapse(false);
    rng.select();
    break;
  }
 }
   );
    }
    );
  </script>
    </head>
    <body>
        <input id='test'>
        pos:
        <span id='pos'></span>
    </body>
</html>

你可能感兴趣的:(text和textarea中的range处理)