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

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

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

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

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