Im работает с основным текстовым полем HTML <input type="text"/>
с числовым значением.
Я добавляю событие JavaScript keyup
, чтобы видеть, когда пользователь нажимает стрелку вверх (e.which == 38
) - затем я увеличиваю числовое значение.
Код работает хорошо, но это единственное, что меня беспокоит. Оба Safari/Mac и Firefox/Mac перемещают курсор в самом начале, когда Im нажимает клавишу со стрелкой вверх. Насколько я знаю, это поведение по умолчанию для каждого текстового поля <input type="text"/>
, и это имеет смысл.
Но это создает не очень эстетический эффект перемещения курсора назад и вперед (после изменения значения).
Скачок в начале происходит на keydown
, но даже с этим знанием Im не может предотвратить его появление. Я попробовал следующее:
input.addEventListener('keydown', function(e) {
e.preventDefault();
}, false);
Помещение e.preventDefault()
в keyup
не помогает.
Есть ли способ предотвратить перемещение курсора?