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

Dlaczego funkcja removeEventListener nie dziła?

Cloud VPS
0 głosów
177 wizyt
pytanie zadane 6 stycznia 2019 w JavaScript przez donekdzwonek Początkujący (420 p.)
const z1 = document.querySelector('#z1');
const z2 = document.querySelector('#z2');
const z3 = document.querySelector('#z3');

const z4 = document.querySelector('#z4');
const z5 = document.querySelector('#z5');
const z6 = document.querySelector('#z6');

const z7 = document.querySelector('#z7');
const z8 = document.querySelector('#z8');
const z9 = document.querySelector('#z9');

z1.addEventListener("click", function() { zaznacz(1); });
z2.addEventListener("click", function() { zaznacz(2); });
z3.addEventListener("click", function() { zaznacz(3); });

z4.addEventListener("click", function() { zaznacz(4); });
z5.addEventListener("click", function() { zaznacz(5); });
z6.addEventListener("click", function() { zaznacz(6); });

z7.addEventListener("click", function() { zaznacz(7); });
z8.addEventListener("click", function() { zaznacz(8); });
z9.addEventListener("click", function() { zaznacz(9); });

let tura = 1;
const kółko = "url(images/kółko.png)";
const krzyżyk = "url(images/krzyżyk.png)";
const małeKółko = "url(images/małeKółko.png)";
const małyKrzyżyk = "url(images/małyKrzyżyk.png)";

function zaznacz(nr)
{
	
			if(tura%2 == 0)
			{
				$('#z'+nr).css('background-image', krzyżyk);
			
		
			}	
			else
			{
				$('#z'+nr).css('background-image', kółko);
				
			}
			tura++;
			'z'+nr+'.'+removeEventListener('click', zaznacz);
			
}








 Piszę prostą grę w kółko i krzyżyk. Tak dla poznania języka JS. Funkcja removeEventListener, która ma zapobiec możliwości ponownego kliknięcia w to samo pole nie działa

1 odpowiedź

0 głosów
odpowiedź 6 stycznia 2019 przez kenjiro244 Dyskutant (8,600 p.)
wybrane 31 maja 2019 przez donekdzwonek
 
Najlepsza

Dlatego że zapis 

'z'+nr+'.'

Wstawia w to miejsce napis czyli stringa z5. a nie zmienną. 

Najlepiej wszystkie zmienne stawić w tablicę i odnosić się w niej do poszczególnych zmiennych + skrócisz sobie ilość kodu jakieś 3 razy :D

A i żeby pobrać wszystkie pola skorzystaj z https://javascript.info/event-delegation

Podobne pytania

0 głosów
1 odpowiedź 395 wizyt
+2 głosów
2 odpowiedzi 663 wizyt
pytanie zadane 23 października 2016 w JavaScript przez Radekol Bywalec (2,880 p.)
+1 głos
3 odpowiedzi 525 wizyt
pytanie zadane 19 lipca 2020 w JavaScript przez kingkushlee Gaduła (3,960 p.)

93,463 zapytań

142,459 odpowiedzi

322,729 komentarzy

62,844 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

Kursy INF.02 i INF.03
...