@vasilijedragicevic

Dropdown javascript?

Hе могу сделать код для закрытия dropdown при клике на сам button

При клике на button dropdown выпадает, при клике на window исчезает, но вот проблема не могу написать код чтоб при клике на button с открытым dropdown он исчезал

menu_dd - class of button
dropped_content - class of content with dipslay: none
show {
dipslay: block
}

document.querySelector('.menu_dd').addEventListener('click', function(e){
	let dp = document.querySelector('.dropped_content') 
		dp.classList.add('show')
		e.stopPropagation()
})

window.onclick = function(e) {
  let find = document.querySelector('.dropped_content')
  find.classList.remove('show')
}
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
kocherman
@kocherman
Вам надо заменить метод
dp.classList.add('show')
на
dp.classList.toggle('show')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08 Куратор тега CSS
Добавь блоку атрибут tabindex="-1" и отслеживай события focus, blur на нем.
Ответ написан
Комментировать
@nomidson
Тут надо использовать if
и надо использовать одну переменную с селектором зачем 2 переменных с .dropped_content если надо создать одну глобальную!
let dp = document.querySelector('.dropped_content') 
document.querySelector('.menu_dd').addEventListener('click', function(e){
    dp.classList.add('show')
    e.stopPropagation()
})

window.onclick = function(e) {
  if(dp.classList.contains(show)){
      dp.classList.remove('show')
 }
}

КАК-ТО ТАК
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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