Я использую эти события, чтобы попытаться оценить ввод формы, но если форма автозаполняется браузером, эти события не срабатывают. Как я могу сделать пожар событий на автозаполнении?JQuery .keyup .keydown .keypress не обнаруживает браузер autofill
ответ
К сожалению, нет способа обнаружить автозаполнение браузера. Вместо этого используйте setInterval
, например, для запуска функции на довольно высокой частоте, которая проверяет, соответствует ли исходное значение (или пустое) входному значению и вызывает ответ таким образом. Если вы не хотите этого делать, вы, вероятно, SOL, поскольку браузер даже не запускает .change
, и любое событие, скорее всего, не совместимо с кросс-браузером.
У вас также могут быть события проверки, выполняемые также при отправке формы, что должно быть столь же эффективным.
Да, проблема с техникой отправки - я меняю цвет границы ввода на основе проверки содержимого, поэтому мне нужно, чтобы событие срабатывало каждый раз, когда оно было изменено –
Вы можете немного подделать требуемое поведение путем привязки к событиям .click()
и/или .dblclick()
.
Это не гарантируется, но вы можете получить дополнительный щелчок мыши, если они решили «утвердить» автозаполнение, выбрав его из окна.
Я знаю, что это довольно старый вопрос, но я решил ту же проблему, используя e.preventDefault() после функции keyup.
$("#email").keyup(function (e) {
e.preventDefault();
Таким образом, если вы выберете с помощью предложения обозревателя autofill, это заметит. Проблема остается, когда вы нажимаете мышью на подсказке, но она отлично работает, если вы нажмете любую клавишу после ее выбора.
окончательное решение
Я нашел этот пост на StackOverflow: https://stackoverflow.com/a/24746108/3481005
и используя .он ("вход") делает трюк!
$("#email").on("input",function (e) {
- 1. jQuery - keydown/keypress/keyup обнаружение ENTERKEY?
- 2. jQuery .keypress & .keydown. Which
- 3. Jquery keypress, keydown, keyup, вход не подходит моему требованию
- 4. Операция/Хром не обнаруживает keypress
- 5. JQuery Autofill с функцией Keyup
- 6. JQuery keypress keydown error
- 7. keyup keydown jquery handling
- 8. Keypress не работает в IE (Keydown и Keyup, размещая форму)
- 9. JavaScript эквивалент KeyUp JQuery (в) и KeyDown()
- 10. keyup и keydown не синхронизированы?
- 11. В чем разница между keyup, keydown, keypress и входными событиями?
- 12. Обработка KeyDown и KeyUp [JQuery]
- 13. jQuery keypress/keydown не работает должным образом
- 14. jquery mobile - keyup keydown на мобильных устройствах
- 15. Проблемы с событиями KeyPress, KeyDown и KeyUp на C#
- 16. расчет на событии keypress/keydown/keyup в html
- 17. JQuery keyup() keydown() и keypress() не работают с iPad и клавиатурой Bluetooth
- 18. iOS 8 Сторонние клавиатуры не регистрируют javascript/jQuery keyup, keypress, keydown и т. Д.
- 19. Почему я не могу правильно сравнить две строки, используя события jQuery .keypress(), .keydown() и .keyup()?
- 20. JQuery Keydown, Keypress, Keycode и т. Д.
- 21. KeyDown/KeyPress и индексирование
- 22. jQuery событие вызова при keydown или keyup
- 23. jQuery Keydown/Keyup работает только каждый раз
- 24. Событие KeyDown и KeyUp
- 25. KeyDown и KeyUp Multiple
- 26. Force keyup after keydown
- 27. Pygame Keyup/Keydown
- 28. Глобальное обнаружение keydown/keyup
- 29. приложение keyup и keydown в jQuery?
- 30. Изменить цвет по Jquery keydown, Keyup
Я исследовал это некоторое время назад, и я не думаю, что вы можете, нет события для автозаполнения браузера. Были бы заинтересованы в любых ответах, хотя :) –
Не зная точно, что вы делаете, не могли бы вы добавить обработчик событий. ..()? Я честно даже не уверен, что это событие даже срабатывает с автозаполнением браузера. – jaredhoyt
Я бы опробовал '.change()', как предложил Джаред, но если это не сработает, возможно, вам придется использовать '.blur()'. – nnnnnn