Запретить перемещение каретки при нажатии клавиши со стрелкой вверх
У меня есть поле ввода, в котором уже есть действие при нажатии клавиши со стрелкой вверх. Но в Chrome, когда вы нажимаете клавишу со стрелкой, она перемещает каретку влево, а я этого не хочу
Мне было интересно, есть ли способ избавиться от движения, и делать только то, что я хочу.
(В EDGE все отлично работает)
Вот назначенное действие:
input.onkeydown = checkKey;
function checkKey(e) {
e = e || input.event;
if (e.keyCode == '38') {
for ( var i = 0; i < split_command.length; i++ ){
input.value += split_command[i];
if ( i+1 < split_command.length ) input.value += " ";
}
}
}
Ps. Я делаю командную строку онлайн, и когда я нажимаю клавишу со стрелкой вверх, она вставляет последнюю команду в поле ввода.
Вот, если вам нужно заглянуть в код.
1 ответ
Решение
Я думаю, что вы ищете, это e.preventDefault ();
https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault