MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

text和textarea中的range处理

Posted on 2008-08-26 20:17 leekiang 阅读(507) 评论(0)  编辑  收藏 所属分类: web开发
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>


只有注册用户登录后才能发表评论。


网站导航: