Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: ZAJDAN 15. 12. 2016, 14:10:13

Název: JS- addEventListener on array
Přispěvatel: ZAJDAN 15. 12. 2016, 14:10:13
Ahoj....
v Javascriptu mam pole, ale nedari se mi na prvky v poli aplikovat addEventListener:
Kód: [Vybrat]
var shelf = [];
      shelf[0] = svgElement.getElementById("shelf-1");
      shelf[1] = svgElement.getElementById("shelf-2");
      shelf[2] = svgElement.getElementById("shelf-3");

shelf.addEventListener("mousedown",function(){tab18[0].click()});

poradil by nekdo jak poštvat eventListener na vsechny prvky v poli?
Název: Re:JS- addEventListener on array
Přispěvatel: ZAJDAN 15. 12. 2016, 14:49:28
SOLVED:

Kód: [Vybrat]
function setShelf() {
    for (var i = 0; i < shelf.length; i++) {
shelf[i].addEventListener("mousedown", function () {
    tab12[0].click()
  });
}
   }

setShelf();
Název: Re:JS- addEventListener on array
Přispěvatel: v 15. 12. 2016, 14:51:06
co forEach?
Název: Re:JS- addEventListener on array
Přispěvatel: LP 15. 12. 2016, 18:24:13
Ono už vůbec to naplnění pole bys měl řešit přes cyklus. A úplně nejlepší bude v případě, kdy máš stejnou událost pro X prvků, sáhnout po delegování. Rád bych ti vysvětlil princip, ale nemám na to teď čas, google napoví, není to zrovna jaderná fyzika.
Název: Re:JS- addEventListener on array
Přispěvatel: čumil 15. 12. 2016, 18:42:17
A za domácí ukol uprav array prototyp tak aby tvoje původní řešení běželo správně
Název: Re:JS- addEventListener on array
Přispěvatel: . 17. 12. 2016, 02:15:36
A za domácí ukol uprav array prototyp tak aby tvoje původní řešení běželo správně
Na prototypy se nešahá...
Název: Re:JS- addEventListener on array
Přispěvatel: ZAJDAN 17. 12. 2016, 13:02:58
co forEach?

super...když použiju forEach, tak to fachá ..díky