Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Przypisanie wielu obiektom tej samej metody po kliknięciu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
maverickkk
Witam.

Czy nie dało by się tego zgrabniej zapisać.
  1. obj1 = document.getElementById("rok");
  2. obj1.onclick = przelacznik;
  3. obj2 = document.getElementById("miesiac");
  4. obj2.onclick = przelacznik;
  5. obj3 = document.getElementById("rok");
  6. obj3.onclick = przelacznik;
  7. obj4 = document.getElementById("rok");
  8. obj4.onclick = przelacznik;
  9. obj5 = document.getElementById("rok");
  10. obj5.onclick = przelacznik;
  11. obj6 = document.getElementById("rok");
  12. obj6.onclick = przelacznik;


Tz. tablica zawierające ID + zdarzenie po kliknięciu ? Albo jeszcze lepiej, wszystkie elementy w znajdujące się wewnątrz elementu o ID=xxx będą miały przypisany takie zdarzenie po kliknięciu?

Dopiero przeczytałem połowę książki o JS biggrin.gif
Pawel_W
  1. var obiekty = new Array("rok", "miesiac", "rok", "rok", "rok");
  2. var funkcje = new Array("przelacznik", "przelacznik", "przelacznik", "przelacznik", "przelacznik");
  3. for(i=0;i<obiekty.length;i++)
  4. {
  5. obj = document.getElementById(obiekty[i]);
  6. eval("obj.onclick = "+funkcje[i]);
  7. }

możliwe że zadziała bez eval, dałem dla pewności winksmiley.jpg
skowron-line
Cytat(Pawel_W @ 3.08.2009, 04:56:48 ) *
  1. var obiekty = new Array("rok", "miesiac", "rok", "rok", "rok");
  2. var funkcje = new Array("przelacznik", "przelacznik", "przelacznik", "przelacznik", "przelacznik");
  3. for(i=0;i<obiekty.length;i++)
  4. {
  5. obj = document.getElementById(obiekty[i]);
  6. eval("obj.onclick = "+funkcje[i]);
  7. }

możliwe że zadziała bez eval, dałem dla pewności winksmiley.jpg

No ale po co ta tablica funkjce skoro jest taka sama
Kod
eval("obj.onclick = przekacznik");
Pawel_W
dalem obrazowo winksmiley.jpg

jakby chcial cos zmienic to juz nie bedzie musial pytac
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.