Reputation: 2148
I know there are ways to position the cursor in an input field. Is there a way to detect a cursor move or preferably disable cursor movement via the arrow keys? I'm implementing an onscreen keyboard and the cursor moves left and right as the user moves left and right over the keyboard. I would like to keep the input field focused the whole time.
Upvotes: 2
Views: 6253
Reputation: 14927
Here's a jQuery solution--blocks left/right arrow keys.
$([your input identifier]).keydown(function(event){
if(event.which == 39 || event.which == 37){
return false;
}else{
return true;
}
});
Upvotes: 1
Reputation: 9800
You can attach a keydown
or keyup
event listener for that input, and invoke the preventDefault()
method on the event object if the keyCode
corresponds to cursor left and cursor right buttons. This will disable the caret movement.
yourInputElement.addEventListener('keydown', function(e){
if(e.keyCode == 37 || e.keyCode == 39)
e.preventDefault();
});
Upvotes: 4