Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Zapomnialem nazwy funkcji
stefan33
post
Post #1





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

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


Witam z góry bardzo dziekuje za pomoc bo zapomnialem nazwy funkcji a nie moge nic trafic w google zeby znalezc. Funkcja ta wypisywala bezposrednio tekst i dopiero wtedy zwrocona wartosc jest przetwarzana np. dzieki niej takie cos moze zadzialac:
  1. var ostrzez="alert";
  2. funkcja("document."+ostrzez+"('to jest alert')");

wyleciala mi z glowy a dawno nie potrzebowalem
Go to the top of the page
+Quote Post
lobopol
post
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


eval? Nie radzę używać.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


prompt?

Ten post edytował wNogachSpisz 30.07.2012, 16:06:11
Go to the top of the page
+Quote Post
stefan33
post
Post #4





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

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


Cytat(lobopol @ 30.07.2012, 16:02:42 ) *
eval? Nie radzę używać.

tak, eval, dziekuje (IMG:style_emoticons/default/smile.gif) w tym wypadku akurat musze jej uzyc i jest ok

Ten post edytował stefan33 30.07.2012, 16:28:29
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Niby dlaczego musiałbyś używać evala?
[JAVASCRIPT] pobierz, plaintext
  1. var fnName = "alert";
  2.  
  3. document[fnName]("To jest alert");
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
stefan33
post
Post #6





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

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


Cytat(Crozin @ 30.07.2012, 16:32:18 ) *
Niby dlaczego musiałbyś używać evala?
[JAVASCRIPT] pobierz, plaintext
  1. var fnName = "alert";
  2.  
  3. document[fnName]("To jest alert");
[JAVASCRIPT] pobierz, plaintext


tamto to byl tylko przyklad..
Go to the top of the page
+Quote Post
Crozin
post
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W takim razie podaj konkretny przypadek, ponieważ w życiu nie spotkałem się jeszcze z koniecznością użycia evala. A jego użycie jest chyba pod każdym względem złe.
Go to the top of the page
+Quote Post
fleshgrinder
post
Post #8





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

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


Cytat(Crozin @ 30.07.2012, 17:18:41 ) *
w życiu nie spotkałem się jeszcze z koniecznością użycia evala. A jego użycie jest chyba pod każdym względem złe.


niekiedy może się przydać
http://www.youtube.com/watch?v=6EJ801el-I8...be&t=31m00s
Go to the top of the page
+Quote Post
stefan33
post
Post #9





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

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


Cytat(Crozin @ 30.07.2012, 17:18:41 ) *
W takim razie podaj konkretny przypadek, ponieważ w życiu nie spotkałem się jeszcze z koniecznością użycia evala. A jego użycie jest chyba pod każdym względem złe.


tutaj jest kod w którym użyłem eval'a:
  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. eval("topkaElements[j].onmouseover=function(){createLabel(topkaElements["+j+"],podswietlacz);}");
  4. topkaElements[j].onmouseout=function (){podswietlacz.style.display="none";}
  5. }

musialem evalować to j, bo gdy tego nie robilem to pozostawalo dalej zmienna i na onmouseoverze rzecz jasna źle dzialalo
Go to the top of the page
+Quote Post
fleshgrinder
post
Post #10





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

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


Cytat(stefan33 @ 31.07.2012, 16:37:47 ) *
tutaj jest kod w którym użyłem eval'a:
  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. eval("topkaElements[j].onmouseover=function(){createLabel(topkaElements["+j+"],podswietlacz);}");
  4. topkaElements[j].onmouseout=function (){podswietlacz.style.display="none";}
  5. }

musialem evalować to j, bo gdy tego nie robilem to pozostawalo dalej zmienna i na onmouseoverze rzecz jasna źle dzialalo


mogłeś, i to działa, ale nie musiałeś. jest lepszy sposób (IMG:style_emoticons/default/smile.gif) poczytaj o domknięciach (closures)

  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. (function(j) {
  4. topkaElements[j].onmouseover = function() { createLabel(topkaElements[j],podswietlacz); };
  5. topkaElements[j].onmouseout = function () { podswietlacz.style.display="none"; };
  6. }(j));
  7. }
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #11





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(fleshgrinder @ 31.07.2012, 18:10:15 ) *
  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. (function(j) {
  4. topkaElements[j].onmouseover = function() { createLabel(topkaElements[j],podswietlacz); };
  5. topkaElements[j].onmouseout = function () { podswietlacz.style.display="none"; };
  6. }(j));
  7. }


Ten kod w swojej wyśmienitości będzie łaskaw nie zadziałać pod Internet Explorer'em...
Ale kto by się przejmował takimi szczegółami.
Go to the top of the page
+Quote Post
Crozin
post
Post #12





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@wNogachSpisz: Niby dlaczego miałoby nie działać pod IE?
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #13





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


element.onmouseover nie będzie hasać.
chyba że hardcoded, ale nadane jako atrybut już nie.

Ten post edytował wNogachSpisz 31.07.2012, 20:31:38
Go to the top of the page
+Quote Post
Crozin
post
Post #14





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Niczego z tego postu nie zrozumiałem. IE chyba od zawsze wspierał onmouseover, czy to jako bezpośrednią właściwość obiektu, czy przez attachEvent/addEventHandler (IE9+).
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #15





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Rozróżnijmy trzy sposoby zakładania lisinerów:

1. Hardcoded, w kodzie HTML "<a href="" onclick='alert()'>"
2. Uzycie addEvent
3. Przypisanie atrybutu przez JavaScript "anchor.onclick = 'alert()'"


Dwa pierwsze zadziałają, ostatni nie.
Go to the top of the page
+Quote Post
Crozin
post
Post #16





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Bo w ostatnim przypadku, powinno być:
[JAVASCRIPT] pobierz, plaintext
  1. anchor.onclick = function() {
  2. alert("blah");
  3. };
[JAVASCRIPT] pobierz, plaintext
I IE obsługuje to od dawien dawana.
Go to the top of the page
+Quote Post
fleshgrinder
post
Post #17





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

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


Cytat(wNogachSpisz @ 31.07.2012, 20:44:05 ) *
Ten kod w swojej wyśmienitości będzie łaskaw nie zadziałać pod Internet Explorer'em...
Ale kto by się przejmował takimi szczegółami.


?

http://jsfiddle.net/8scCd/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 13.10.2025 - 10:43