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