input框输入后 按键盘方向键的上键 光标会移动到最前面 怎么阻止光标这个事件效果?

按上下键 input框里的光标会自己移动到最前或者最后 怎么让光标一直在最后呢?
其实就是阻止按上键让光标移动到文本最前面的这个效果,,有什么好的思路或者实现么?

阅读 7.8k
评论
    2 个回答

    给input添加一个onkeydown的事件:
    <input onkeydown="confirm(event)" />
    判断event键为向上(38)时,阻止一下默认事件,直接返回;

    function confirm(event) {
            var key_num = event.keyCode;
            if (38 == key_num) {
                event.preventDefault();
                // return false;
            }
        }
      $("#domInput").bind("keyup",function(e){
          if (e.keyCode === 38 || e.keyCode === 40) {
              cursorMove();
          }
      })
      function cursorMove() {
          var domIpt = $("#domInput")[0];
          if (domIpt.createTextRange) {
               var range = domObj.createTextRange();
               range.collapse(true);
               //把光标移动到指定范围
               range.moveEnd('character', pos);
               range.moveStart('character', pos);
               range.select();
          }
      }
      
        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章