六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 30|回复: 0

text和textarea中的range处理

[复制链接]

升级  90.33%

149

主题

149

主题

149

主题

举人

Rank: 3Rank: 3

积分
471
 楼主| 发表于 2013-2-7 15:16:26 | 显示全部楼层 |阅读模式
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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表