Я создал прямую панель поиска в jQuery, но у меня есть проблема!jQuery keypress/keydown не работает должным образом
$(document).on('keydown', '.searchInput', function(){ // or keypress I have the same result
console.log($(this).val());
});
При нажатии кнопки в поле ввода .searchInput
он записывает последнее значение, которое было. Например, если я типа a
он будет регистрировать (пусто), то если я типа
s
(поэтому панель поиска имеет as
в нем) он будет регистрировать a
, то если я типа d
(asd
в строке поиска) он будет регистрировать as
и так далее. Что я делаю не так? Спасибо!
Проблема в том, что вы присоединяете событие к 'keydown'. это будет ** захватывать значение до того, как на самом деле произойдет вход **. если вы хотите захватить полное значение, используйте событие «keyup» вместо –
@AkshayKhandelwal Мне действительно нужно использовать keydown (или keypess или что-нибудь, что срабатывает при нажатии клавиши). Есть ли что-нибудь еще, что я могу использовать? (как keydown, так и keypress don 't work)) – Jim
Что вы подразумеваете под ** необходимо **. Есть ли какие-либо требования, которые говорят, что вам нужно, или есть другой обработчик событий, прикрепленный к клавиатуре. если позже это так, вы все равно можете использовать keyup, поскольку все обработчики событий получаются вызванными –