• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamykanie menu, po nietrafieniu w nie

Aruba Cloud - Virtual Private Server VPS
0 głosów
339 wizyt
pytanie zadane 2 kwietnia 2019 w JavaScript przez VLeniowy Nowicjusz (190 p.)
Cześć,

Mam taki problem, otóż stworzyłem sidebar-menu, które jest otwierane i zamykane za pomocą przycisku. Jednak nie wiem, co zrobić, aby menu po otworzeniu, zamykało się po nietrafieniu w nie. Wiem, że trzeba użyć, czegoś takiego jak "e.target", jednak nie wiem za bardzo jak to podłączyć do addEventListener. Niżej podaje link jak to wygląda:

https://codepen.io/VLeniowy/pen/VNLXWj

3 odpowiedzi

+2 głosów
odpowiedź 2 kwietnia 2019 przez Comandeer Guru (606,480 p.)

Przy kliku wypada sprawdzić, co zostało kliknięte. Jeśli znajduje się to wewnątrz menu lub jest menu, wtedy nie wykonywać żadnej akcji. Coś typu:

document.addEventListener( 'click', function( { target } ) {
	const menu = document.querySelector( '#menu' );

	if ( menu.contains( menu ) || menu === target) {
		return;
	}
		
	menu.classList.remove( 'active' );
} );
+1 głos
odpowiedź 2 kwietnia 2019 przez olekjs Gaduła (4,590 p.)

Dodaj to do Swojego JS i zobacz czy działa, jak chcesz

document.addEventListener('click', function() {
  const menu = document.querySelector('#menu');
  menu.classList.remove('active');
},true);
komentarz 2 kwietnia 2019 przez VLeniowy Nowicjusz (190 p.)
Zamyka okno, tylko jest problem taki, ze po kliknięciu w menu, się ono zamyka oraz nie działa przycisk. :c
komentarz 2 kwietnia 2019 przez olekjs Gaduła (4,590 p.)
Powiem Ci szczerze że nie mam pomysłu na tę chwilę. Proponuję zrobienie tego w JQ, będzie łatwiej.
0 głosów
odpowiedź 2 kwietnia 2019 przez pablop76 VIP (123,540 p.)
const button = document.getElementById('przycisk');
const menu = document.getElementById('menu');
document.body.addEventListener('click', function(e) {
(e.target.id=="przycisk")?menu.classList.toggle('active'): menu.classList.remove('active');
})

 

komentarz 2 kwietnia 2019 przez Comandeer Guru (606,480 p.)
To zamknie menu po kliknięciu w menu ;)
komentarz 3 kwietnia 2019 przez pablop76 VIP (123,540 p.)
Czasami jest to pożądane np. przy stronach onepage.

Podobne pytania

0 głosów
1 odpowiedź 2,072 wizyt
pytanie zadane 18 lipca 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)
0 głosów
1 odpowiedź 359 wizyt
pytanie zadane 28 maja 2019 w JavaScript przez Kerto Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 1,101 wizyt
pytanie zadane 27 lutego 2018 w JavaScript przez Konfeusz Bywalec (2,810 p.)

93,322 zapytań

142,319 odpowiedzi

322,387 komentarzy

62,651 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...