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

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

阅读 17k
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();
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题