Обнаружение ввода за пределами ввода в jQuery

Хорошо, поэтому для нашего приложения у нас есть боковая панель с длинным списком всех разных страниц, доступных этому текущему пользователю. В верхней части боковой панели находится вход, который, используя Javascript, показывает только на боковой панели, где содержатся слова (слова), которые они искали. Есть ли способ достичь этого без фактического ввода или использования скрытого ввода?

Я хочу, чтобы это было, когда пользователь набирает, если они не сфокусированы на другом вводе /textarea/whatever, он уточняет боковую панель. Я не уверен, что вы видели новый MySpace, но это именно то, что я собираюсь сделать.

3 ответа

Вот краткий пример, указывающий вам в правильном направлении. Каждый раз, когда нажата клавиша, событие проверяется, будет ли он активирован на входе. Если код символа не зарегистрирован на консоли.

$('body').on('keypress', function(e) {
 if ($(e.target).is('input')) {
 return;
 }
 console.log(e.which);
});


Прослушайте событие keypress на document. Затем получите target из события, чтобы определить, является ли это входным или похожим.

$(document).keypress(function(event) {
 if ($(event.target).is('input')) {
 return;
 }
 event.preventDefault();
});

licensed under cc by-sa 3.0 with attribution.