Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Dlaczego onclick przestaje działać
stefan33
post 1.09.2012, 14:02:45
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

Ostrzeżenie: (0%)
-----


Witam oto fragment kodu z mojego skryptu:

  1.  
  2. destElement.innerHTML="<div id='memesDiv' style='width: 500px; border: 1px solid green; background-color: blue;'></div>";
  3. var memesDiv=destElement.firstChild;
  4.  
  5.  
  6. for(i=0;i<memeImages.length;i++)
  7. {
  8. (function(i)
  9. {
  10. ...
  11. img.onclick=function(){alert("lol"+memeImages[i]); }
  12. memesDiv.appendChild(img);
  13. ...
  14. }
  15. )(i);
  16. }
  17.  

do tego momentu ten kod działa. natomiast gdy próbuje cokolwiek dodać do diva 'destElement' to onclick na podanych img przestaje dzialac. siedze juz na tym od 2 godzin i nie mam pojecia co moze być nie tak. nawet wpisanie takiego czegoś powoduje ze onclick przestaje dzialac:
  1. destElement.innerHTML=destElement.innerHTML;

W czym tkwi problem? Z góry dziekuje za wszystkie odpowiedzi i pomoc
Go to the top of the page
+Quote Post
peter13135
post 1.09.2012, 15:20:59
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Być może gdybyś spakował mi cały kod, to go odpalę i znajdę problem tongue.gif


--------------------
:)
Go to the top of the page
+Quote Post
Kużdo
post 1.09.2012, 15:44:57
Post #3





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Jeżeli do tego diva dodajesz obrazki PO WCZYTANIU STRONY, czyli właśnie za pomocą JS albo ajaxa, to nie działa prawdopodobnie dlatego, że w drzewie DOM nie istnieją te elementy i nie ma do nich niczego przypisanego.
Go to the top of the page
+Quote Post
stefan33
post 1.09.2012, 18:58:03
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

Ostrzeżenie: (0%)
-----


Cytat(peter13135 @ 1.09.2012, 15:20:59 ) *
Być może gdybyś spakował mi cały kod, to go odpalę i znajdę problem tongue.gif

Ciezko byloby spakowac, bo to nie kawalek kodu, a kod do aktualizacji strony, duzo includow php itd. zreszta i tak nie chce zawracac glowy tongue.gif Zastanawiam sie w jaki sposob dziala to przypisanie poprzez onclick i inne eventy. Bo np. jak dodaje sie
  1. element.style.top=10px
to js zywcem dopisuje tzn robi takie cos:
  1. <element style='top: 10px'/>
, a gdy uzywa sie np. onclick to w tagu nic nie ma. Dlatego byćmoze jak przypisuje
  1. destElement.innerHTML=destElement.innerHTML;
to przypisanie do onclicka jest "zgubione" tylko pytanie w jaki sposób w takim razie wcześniej było przypisane.. oneeyedsmiley02.png


Cytat(Kużdo @ 1.09.2012, 15:44:57 ) *
Jeżeli do tego diva dodajesz obrazki PO WCZYTANIU STRONY, czyli właśnie za pomocą JS albo ajaxa, to nie działa prawdopodobnie dlatego, że w drzewie DOM nie istnieją te elementy i nie ma do nich niczego przypisanego.

Drzewo po wczytaniu strony dalej jest uaktualniane, to nie ma nic do rzeczy smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 07:50