Запретить перемещение каретки при нажатии клавиши со стрелкой вверх

У меня есть поле ввода, в котором уже есть действие при нажатии клавиши со стрелкой вверх. Но в 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

Другие вопросы по тегам