Wpis z mikrobloga

mireczki z #programowanie #programista15k #javascript
mam 15 elementów dla kazdego chce utworzyc addevent listener, jako ze chce to zrobic jakbym mial rigcz uzywam petli ale mam problm techniczny jak polaczyc nazwe zmiennej z licznikiem "i" xD

powiedzmy wygladalo by to tak :

dla jednego elementu :
var c0=document.getElementById('c0');
c0.addEventListener('click', function () {
revealCard(0)
});
dla wielu :
for (let i = 0; i < cards.length; i++) {
var c + i = document.getElementById('c' + i);
c + i.addEventListener('click', function () {
revealCard(i)
});

}

jak to zrobic jak sie laczy tego typou rzeczy ?
  • 26
  • Odpowiedz
@turtelian: a, spoko. Ale twój kod i tak by nie zadziałał w takiej postaci jakbyś nawet przerobił to na tablicę - wszystkie listenery robiłyby revealCard(cards.length-1) (każdy z takim samym argumentem) zamiast revealCard(i) (każdy z kolejnym) - w linku masz wyjaśnione dlaczego
  • Odpowiedz
@Marmite: Pytanie przy okazji. @turtelian napisał, że

jako ze chce to zrobic jakbym mial rigcz uzywam petli


Czy nie powinno się takich rzeczy robić przez przypisanie handlera do wspólnego elementu nadrzędnego i łapanie eventa podczas propagacji?
  • Odpowiedz
Czy nie powinno się takich rzeczy robić przez przypisanie handlera do wspólnego elementu nadrzędnego i łapanie eventa podczas propagacji?


@MQs:

zgadza się, jest to jeden ze sposobów na lepsze podejście do tego problemu


@Marmite: Ja myślałem że jest to najlepszy sposób, są lepsze od propagacji eventListenera? ( ͡° ͜ʖ ͡°)
  • Odpowiedz