Я пытаюсь создать живой поиск на моем сайте, используя jQuery и ajax.
Однако, если окно поиска имеет фокус, и я перехожу на другую вкладку браузера, jQuery вызывает функцию keyup()
, когда я возвращаюсь на страницу поиска.
Я высмеял этов JSfiddle
Шаги для воспроизведения:
- Откройте JSfiddle и любую другую вкладку браузера
- Дайтефокус текстового поля
- Перейти к другой вкладке браузера
- Вернуться на исходную страницу (JSfiddle)
Ожидаемый / предполагаемый: keyup()
не сработало
Что происходит: keyup()
сработало, как показывает отметка времени
Я не очень разбираюсь в Javascript, и я прочиталjQuery документация, но я не могу придумать ответ.
Это происходит, потому что я делаю что-то не так?Это проблема с Javascript / jQuery или браузером?(С помощью Chrome) Как я могу предотвратить это?
Спасибо!Будьте осторожны.
ОБНОВЛЕНИЕ
Похоже, что он срабатывает только при использовании Ctrl + Tab, а не просто щелкая между вкладками.Может быть воспроизведен путем нажатия кнопки со страницы, но Ctrl + Shift + Tab, чтобы вернуться на страницу поиска.
Я бы предположил, что решение, как упомянуто ниже, возвращает keyCode 9 как false
, но оставит его открытым для других предложений.