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

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

Есть div1, при клике по которому выходит алерт, внутри div1 есть div2, при клике по которому алерт выходить не должен, как записать это условие?
$(document).on('click', 'div1', function() {
//Вот тут надо написать, что "если клик был не по элементу div2"
alert('Ku');
})
  • Вопрос задан
  • 227 просмотров
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 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(){..});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы