@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')
}
  • Вопрос задан
  • 54 просмотра
Решения вопроса 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')
 }
}

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

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

Войти через центр авторизации
Похожие вопросы
18 сент. 2020, в 21:23
2500 руб./за проект
18 сент. 2020, в 20:16
13000 руб./за проект
18 сент. 2020, в 19:05
25000 руб./за проект