Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Odnoszenie się do obiektów w tablicy
Forum PHP.pl > Forum > Przedszkole
sweter
Witam,
mam tablicę, w której każdy element jest pewnym obiektem. Chciałem teraz napisać taki kod, w którym mógłbym mógłbym zrobić zdarzenie dla każdego z elementów. Przykładowo:
[JAVASCRIPT] pobierz, plaintext
  1. tablica = new Array();
  2. // w tym miejscu wypełniam tablice jakimiś obiektami
  3.  
  4. // chcą utworzyć odniesienie dla 1. elementu robię tak:
  5. tablica[0].onclick(/*jakiś kod*/);
  6.  
  7. // i dla drugiego
  8. tablica[1].onclick(/*jakiś kod*/);
[JAVASCRIPT] pobierz, plaintext

W jaki sposób mogę zrobić odniesienie do wszystkich elementów na raz?
kamil4u
Kod
<div>klik</div><div>klik</div><div>klik</div><div>klik</div><div>klik</div>
<script>
els = document.getElementsByTagName('div');
for(i in els){
els[i].onclick = function(){
   alert('Kilk');
}
}
</script>

lub <-- o to Ci pewnie chodziło
Kod
<div>klik</div><div>klik</div><div>klik</div><div>klik</div><div>klik</div>

<script>
els = document.getElementsByTagName('div');
for(i=0; i < els.length; ++i ){
els[i].onclick = function(i){
   return function(){ alert(i); }
}(i)
}
</script>
smietek
Do tego służy addEventListener
kamil4u
@smietek: jak już chcesz się tak czepiać( tongue.gif ) to: http://www.quirksmode.org/js/eventSimple.html
Poza tym nie ma większej różnicy, przy tak prostych skryptach: https://developer.mozilla.org/pl/DOM/elemen...ia_zdarze.C5.84
Cytat
Ponieważ była to istotna część DOM 0, ta metoda jest bardzo szeroko wspierana i nie wymaga specjalnych kodów do różnych przeglądarek; stąd też jest to normalnie używana do dynamicznego zaczepienia obsługi zdarzenia jeśli nie potrzeba dodatkowych możliwości addEventListener().

Absolutnie, nie jest to żadnym błędem smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.