Я сделал аналогичный код, но он не работает, я не могу понять, почему, класс и атрибут добавляются к кнопке, но показ события не запускается

#javascript #jquery #onclick

#язык JavaScript #jquery #onclick

Вопрос:

Я не могу понять, почему это не работает, я сделал аналогичный код, но он не работает, я не могу понять, почему класс и атрибут добавляются к кнопке, но показ события не срабатывает, и невозможно добавить класс в элемент popup_cart, как будто его не существует

 $(document).ready(function(){  $(document).on("click", "#user_panel", function(){  if(typeof $(this).attr('click') === "undefined"){   $(this).attr('click', 'active' );  $(this).addClass('active_e');  $('#popup_user_panel').show();  }else{  $(this).removeAttr('click', 'active' );  $(this).removeClass('active_e');  $('#popup_user_panel').hide();  }  });  $(document).mouseup(function (e) {  var container = $('.top_right_nav');  if (container.has(e.target).length === 0){  $('#user_panel').removeClass('active_e');  $('#user_panel').removeAttr('click', 'active' );  $('#popup_user_panel').hide();  }  });    $(document).on("click", "#panel_bag", function(){  if(typeof $(this).attr('click') === "undefined"){     $(this).attr('click', 'active' );  $(this).addClass('active_e');  $('#popup_cart').show();  }else{  $(this).removeAttr('click', 'active' );  $(this).removeClass('active_e');  $('#popup_cart').hide();  }  });  $(document).mouseup(function (e) {  var container = $('.top_right_nav');  if (container.has(e.target).length === 0){  $('#panel_bag').removeClass('active_e');   $('#panel_bag').removeAttr('click', 'active' );  $('#popup_cart').hide();  }  }); });  

введите описание изображения здесь

Комментарии:

1. Я заменил #popup_cart на .popup_cart и id=’popup_cart’ на class=’popup_cart», и по какой-то причине все это сработало, я оставлю вопрос, чтобы выяснить, в чем причина.

2. Это может означать, что в вашем HTML-коде было несколько идентификаторов, когда идентификаторы должны быть уникальными. Вы это проверили?

3. Спасибо за ваш ответ, да, вы абсолютно правы, у меня есть дубликаты элементов мобильной и полной версий сайта. Вопрос можно закрыть. Вопрос решен.

Ответ №1:

Проблема решена, в моем коде элемент дублируется для мобильной и полной версий сайта. Спасибо, Тадас!