Я хотел бы запускать функцию при каждой модификации элемента управления текстовым полем, как только пользователь вводит текст.событие .keyup()
подходит для большинства случаев.
Тем не менее, браузеры (такие как Chrome или Firefox) могут предлагать записи автозаполнения для элементов управления текстовыми полями (вероятно, потому что @name или @id элемента управления вводом известны).
К сожалению, ни одно из приведенных ниже событий не может запускаться при «нажатии на предложенную запись». ( .keyup() срабатывает при выборе с помощью клавиатуры )
$('input#email')
.click(function() { console.log('click'); })
.keyup(function() { console.log('keyup'); })
.keydown(function() { console.log('keydown'); })
.change(function() { console.log('change'); })
.focus(function() { console.log('focus'); })
.blur(function() { console.log('blur'); });
Насколько это возможно, я бы хотел избежать периодической проверки setInterval()
.
Есть ли способ обнаружить это событие "выбрать предложение"?