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

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

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

Не работает.
Подскажите, как такое можно реализовать?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
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) { 
		// если клик был не по нашему блоку и не по его дочерним элементам
	}
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы