tyoma_koder
@tyoma_koder

Пропадает слушатель события на элементе?

Проверял в отладчике - событие добавляется, но потом куда то пропадает, никаких innerHTML и т.п. я не использовал для этого блока.
window.addEventListener("load", ()=>{
	let burger = document.querySelector("#desctop-header .burger");
	let menu = document.querySelector("#desctop-header .header-menu-wrapper");
	burger.addEventListener("click", ()=>{
		menu.classList.add("show");
	});
});
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 2
vmakhnyuk
@vmakhnyuk
Frontend developer
Что значит событие пропадает?
Возможно тут проблема с логикой, вам нужно добавлять класс show при первом клике и убирать при следующем. Тогда ваш код должен выглядеть так:
window.addEventListener("load", ()=>{
  let burger = document.querySelector("#desctop-header .burger");
  let menu = document.querySelector("#desctop-header .header-menu-wrapper");
  burger.addEventListener("click", ()=>{
    menu.classList.toggle("show");
  });
});
Ответ написан
Комментировать
tyoma_koder
@tyoma_koder Автор вопроса
Проблема была в том что в другом файле в body вставлялись блоки через innerHTML, а innerHTML возвращает копию body+вставленные блоки, соответственно на копию не навешаны слушатели.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы