Задать вопрос

Как определить клик НЕ по кнопке?

Есть div1, при клике по которому выходит алерт, внутри div1 есть div2, при клике по которому алерт выходить не должен, как записать это условие?
$(document).on('click', 'div1', function() {
//Вот тут надо написать, что "если клик был не по элементу div2"
alert('Ku');
})
  • Вопрос задан
  • 224 просмотра
Подписаться 2 Оценить 3 комментария
Решения вопроса 1
qork
@qork
{ background: #F00B42 }
$(document).on('click', '.div1', function(e) {
   if(!$(e.target).is('.div2'))
      alert('Ku');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@zenwarr
В обработчик события передается аргумент — объект события, у которого есть поле target, которое указывает на элемент, который его "породил". Нужно проверить, что e.target не совпадает с элементом div2.
Ответ написан
Комментировать
streetflush
@streetflush
$( ".div1" ).click(function( event ) {
alert('test');
});
$( ".div2" ).click(function( event ) {
  event.stopImmediatePropagation();
});


или

$( ".div1" ).click(function( event ) {
if(event.target.className == "div1"){
	alert('test');
}
});
Ответ написан
Комментировать
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
$(".div1").on("click", ":not(.div2)", function(){..});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 14:07
15000 руб./за проект
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект