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

Dynamiczne tworzenie obiektów oraz przypisywanie im zdarzeń - javascript.

0 głosów
542 wizyt
pytanie zadane 17 kwietnia 2018 w JavaScript przez String Gaduła (4,520 p.)

Witam, kod wygląda następująco:

for (var i = 0; i <= 10; i++) {
	var object = '<div id="object'+i+'"> Object'+i+'</div>'

	var node = document.createElement("LI");
	node.innerHTML=object;
	document.getElementById('my_ul').appendChild(node);

	document.getElementById('object'+i).addEventListener('click', function(){
		console.log('Object: '+i);
	})
}

Tworzenie elementów listy my_ul przebiega pomyślnie, czyli otrzymuję to co chciałem. Listę li, w których dodatkowo są divy.
Chciałbym, aby po kliknięciu w każdego diva, wykonywało się zdarzenie click, które w konsoli wypisuje numerek klikniętego diva.

Jednakże ten kod nie działa.
Wie ktoś jak tworzyć takie dynamiczne zdarzenia?

1 odpowiedź

0 głosów
odpowiedź 17 kwietnia 2018 przez pablop76 VIP (123,580 p.)

Wyjmij nasłuchiwanie z pętli bo przecież jeżeli utworzyłeś już listę to nasłuchiwanie powinno odbywać się na tej liście czyli ul_li (propagacja zdarzeń spowoduje przechwycenie kliknięcia przez li). W funkcji sprawdź target zdarzenia.

function(e){
console.log(e.target);

 

Podobne pytania

0 głosów
1 odpowiedź 211 wizyt
0 głosów
1 odpowiedź 572 wizyt
pytanie zadane 28 stycznia 2017 w JavaScript przez DariuszH Gaduła (3,100 p.)
+1 głos
2 odpowiedzi 824 wizyt
pytanie zadane 8 listopada 2021 w Visual Basic przez muzyk Użytkownik (940 p.)

93,604 zapytań

142,527 odpowiedzi

322,991 komentarzy

63,089 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
...