@askhatCH
Программист

Как сделать так, чтобы при нажатии на любой элемент, кроме с #search-2 выполнялся код?

У меня вот, например, есть много кнопок, панелей и т.д. И там есть еще input с айдишником #search-2.
Мне надо, чтобы, при нажатии на любой элемент, кроме на #search-2, выполнялся мой код.
Например:
$('*:not(#search-2) или *:not(:has(#search-2)').click(function() {
alert('Вы нажали не на #search-2');
});

Не работает.
Подскажите, как такое можно реализовать?
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
not()
$(document).not('#search-2').click(function() {
console.log("It's not search2!");
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sagrana
@sagrana
Вёрстка и немного кодинга)
$(document).mouseup(function (e){  // событие клика по веб-документу
	var div = $("#search-2");  // тут указываем элемент
	if (!div.is(e.target) && div.has(e.target).length === 0) { 
		// если клик был не по нашему блоку и не по его дочерним элементам
	}
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 08:46
5000 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект