@viktorulyushev

Клик по родителю,вызывает клик по дочернему элементу?

Написал скрипт,который при клике по элементу добавляет класс,благодаря этому классу невидимый блок становится видимым,проблема в том что при нажатии на этот ранее скрытый блок,клик так же срабатывает,как сделать так чтобы клик срабатывал только по родителю?
$(document).ready(function(){
   $(" .toolbar-top-link-alt-zakaz").click(function () {
      if ($(".toolbar-top-link-alt-zakaz .CheckOrderBlock-custom").hasClass("open-order")) {
             $(" .toolbar-top-link-alt-zakaz .CheckOrderBlock-custom").removeClass("open-order");
             } else {
               $(".toolbar-top-link-alt-zakaz .CheckOrderBlock-custom").addClass("open-order");
           }
      });
});
  • Вопрос задан
  • 6245 просмотров
Решения вопроса 1
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Пригласить эксперта
Ответы на вопрос 1
@myaca
конкретно в этой ситуации, нет смысла в этой проверке...
Есть такой метод в jQuery:
toggleClass() - почитай про него
Для того, чтобы event не распространялся дальше по DOM, тебе нужно в колбек прокинуть объект event и сказать ему, мол, не надо дальше (stopPropagation())

Почитай про это по ссылке, что тебе скинули на learn.javascript.ru

$(" .toolbar-top-link-alt-zakaz").click(function (e) {
e.stopPropagation();
$(" .toolbar-top-link-alt-zakaz .CheckOrderBlock-custom").toggleClass("open-order");
});
Ответ написан
Ваш ответ на вопрос

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

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