Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]własne wydarzenia
-Gość-
post 27.06.2011, 22:51:39
Post #1





Goście







na samym początku mam pytanie:
czy własne wydarzenia wykonują się dynamiczne, tzn. jeśli zrobię wydarzenie które posiada warunek porównujący dwie wartości i on się spełni, to instrukcje dalsze zostaną od razu wykonane? jeśli nie, to da się to w jakiś sposób osiągnąć?

czy taki kod jest poprawny i zadziała tak, jak wspomniałem wyżej?
[JAVASCRIPT] pobierz, plaintext
  1. document.addEventListener('Test', function(todo) {
  2. if(WARUNEK) todo;
  3. }, false);
[JAVASCRIPT] pobierz, plaintext

jeśli nie, to co zmienić/dodać, aby zadziałał?


a takie wywołanie tego zdarzenia będzie poprawne?
[JAVASCRIPT] pobierz, plaintext
  1. document.onTest = alert('dziala');
[JAVASCRIPT] pobierz, plaintext


zrobiłem coś podobnego, alert pojawiał się przy wczytywaniu strony, pomimo, że warunek nie był spełniony. a kiedy się spełnił - nic się nie działo.
Go to the top of the page
+Quote Post
impro
post 28.06.2011, 14:08:35
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 3
Dołączył: 21.11.2010

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


chodzi o to aby coś wywołało tą funkcje np windowsOnLoad czy jakoś tak albo click albo zmiana pola formularza jest też taki wzorzec observer który taktuje na temat ten i obserwuje czy coś nie zmieniło się.
Go to the top of the page
+Quote Post
erix
post 28.06.2011, 14:08:36
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




[JAVASCRIPT] pobierz, plaintext
  1. document.onTest = function(){ alert('dziala'); }
[JAVASCRIPT] pobierz, plaintext


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-Gość-
post 28.06.2011, 15:29:56
Post #4





Goście







  1. <script type="text/javascript">

[JAVASCRIPT] pobierz, plaintext
  1. document.addEventListener.('Test', function(todo){
  2. var test = document.getElementById('test').innerHTML;
  3. if(test > 200) todo;
  4. }, false);
  5. document.onTest = function(){ alert('dziala'); }
  6.  
  7. function dodaj(){
  8. document.getElementById('test').innerHTML = 201;
  9. }
  10. setTimeout("dodaj()", 5000);
[JAVASCRIPT] pobierz, plaintext

  1. <span id="test">200</span>


po 5 sekundach funkcja dodaj() powinna zmienić wartość id "test" na 201, a wtedy uruchomiłaby się funkcja ze zdarzenia. niestety, nic się nie dzieje. proszę, powiedzcie, gdzie tutaj jest błąd?
Go to the top of the page
+Quote Post
erix
post 28.06.2011, 18:24:22
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Sprawdź sobie, gdzie masz literówkę. To raz.

Dwa - konsola błędów przeglądarki jest Twoim najlepszym przyjacielem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-Gość-
post 28.06.2011, 21:49:47
Post #6





Goście







pierwsza linia poprawiona. teraz normalnie po 5 sekundach zmienia się 200 na 201 w <span>, ale alert i tak się nie pojawia.
Go to the top of the page
+Quote Post
erix
post 29.06.2011, 07:20:00
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pokaż gdzieś na żywo cały kod.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-Gość-
post 29.06.2011, 11:51:34
Post #8





Goście







to jest cały kod, a odpalam go na localhoście
Go to the top of the page
+Quote Post
kamil4u
post 29.06.2011, 13:42:57
Post #9





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Nie da się smile.gif

Powinieneś użyć setInterval i sprawdzać co jakiś czas czy wartość się zmieniła.
W nowszych przeglądarkach dodano odpowiednie zdarzenia sprawdzające czy DOM się zmienił( np. DOMSubtreeModified i inne) - za ich pomocą możesz stworzyć mniej więcej taki kod:
Kod
if( obsługa_nowego_zdarzenia )
//operacje
else
//setInterval


--------------------
Go to the top of the page
+Quote Post
erix
post 29.06.2011, 17:18:28
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
to jest cały kod,

Czytaj przyklejone wątki: Temat: JavaScript jesli Twoj watek go dotyczy KONIECZNIE przeczytaj


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 22.06.2025 - 12:19