@m_xplay_official

Не срабатывает второй клик по элементу?

Имеется такой вот код:
$(document).ready(function(){
	$('img.open').on('click', function(){
		var id = $(this).attr('id');
		var style = document.getElementById(id);
		$('.MenuBoxWrapper').show();
		style.classList.toggle('close');
		style.classList.toggle('open');
	});

	$('img.close').on('click', function(){
		$('section.MenuBoxWrapper').hide();
		var id = $(this).attr('id');
		var style = document.getElementById(id);
		style.classList.toggle('close');
		style.classList.toggle('open');
	});
});


Суть кода - при клике на элемент должен открываться блок при повторном клике на этот же элемент закрываться
Проблема - При повторном клике не закрывается блок

Подскажите пожалуйста в чем проблема либо какой нить рабочий аналог)
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
xEpozZ
@xEpozZ
Веб-разработчик
$(document).on('click', 'img.close', (e) => alert('*Элемент закрывается*'));
Ответ написан
Комментировать
@andreysuha
Что то знаю
У Вас на момент когда Вы вешаете обработчик нету елемента с селектором img.close, по этому не работает. Вам нужно или использовать делегирование событий или использовать селектор img, a внутри него проверять какой сейчас класс
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 20:47
50000 руб./за проект
22 мая 2024, в 20:14
3600 руб./за проект
22 мая 2024, в 20:08
3000 руб./за проект