Страницы

Поиск по вопросам

пятница, 17 мая 2019 г.

Как блокировать движение курсора при up и down в input?

Когда есть фокус у input и введен текст. То при нажатии кнопок up и down курсор перемещается в начало или конец строки. Как это можно предотвратить? Добавляю при событии keyup stopPropagation и preventDefault.
$(me.inputSelector).on('keyup', function(e) {
if (e.keyCode == 38) { // вверх e.stopPropagation(); e.preventDefault(); return; } if (e.keyCode == 40) { // вниз e.stopPropagation(); e.preventDefault(); return; } });


Ответ

Надо повеситься на keydown:
document.querySelector('input').addEventListener('keydown', e => { if (e.keyCode == 38 || e.keyCode == 40) { e.stopPropagation(); e.preventDefault(); return false; } });
В момент события keyup нажатие уже обработано браузером

Комментариев нет:

Отправить комментарий