@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');
	});
});


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

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

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

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