Javascript 检测或禁用输入字段中的光标移动

Javascript 检测或禁用输入字段中的光标移动,javascript,html,dom-events,keyboard-events,Javascript,Html,Dom Events,Keyboard Events,我知道有很多方法可以将光标定位在输入字段中。是否有办法通过箭头键检测光标移动或最好禁用光标移动?我正在实现一个屏幕键盘,当用户在键盘上左右移动时,光标会左右移动。我希望始终保持输入字段的焦点 您可以为该输入附加一个keydown或keyup事件侦听器,如果keyCode对应于光标左键和光标右键,则调用事件对象上的preventDefault()方法。这将禁用插入符号移动 yourInputElement.addEventListener('keydown', function(e){ i

我知道有很多方法可以将光标定位在输入字段中。是否有办法通过箭头键检测光标移动或最好禁用光标移动?我正在实现一个屏幕键盘,当用户在键盘上左右移动时,光标会左右移动。我希望始终保持输入字段的焦点

您可以为该输入附加一个
keydown
keyup
事件侦听器,如果
keyCode
对应于光标左键和光标右键,则调用事件对象上的
preventDefault()
方法。这将禁用插入符号移动

yourInputElement.addEventListener('keydown', function(e){
    if(e.keyCode == 37 || e.keyCode == 39)
        e.preventDefault();
});

您可以为该输入附加一个
keydown
keydup
事件侦听器,如果
keyCode
对应于光标左键和光标右键,则调用事件对象上的
preventDefault()
方法。这将禁用插入符号移动

yourInputElement.addEventListener('keydown', function(e){
    if(e.keyCode == 37 || e.keyCode == 39)
        e.preventDefault();
});
这里有一个jQuery解决方案——阻止左/右箭头键

$([your input identifier]).keydown(function(event){
    if(event.which == 39 || event.which == 37){
        return false;
    }else{
        return true;
    }
});
这里有一个jQuery解决方案——阻止左/右箭头键

$([your input identifier]).keydown(function(event){
    if(event.which == 39 || event.which == 37){
        return false;
    }else{
        return true;
    }
});

我认为JSFIDLE将有助于说明您的情况。我不知道你是如何实现它的。当你提到光标时,你是指鼠标指针还是文本字段中闪烁的光标来显示文本插入的位置?谢谢,有用的问题和2个有用的答案。但是,如何禁用鼠标移动光标?对我来说,这同样值得关注。我认为JSFIDLE将有助于说明您的情况。我不知道你是如何实现它的。当你提到光标时,你是指鼠标指针还是文本字段中闪烁的光标来显示文本插入的位置?谢谢,有用的问题和2个有用的答案。但是,如何禁用鼠标移动光标?对我来说,这同样值得关注。