Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] wywolanie 2 funcji w onkeyup
skowron-line
post
Post #1





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


panowie jak wywolac 2 funkcje w zdarzeniu onkeypress i jeszcze do obu przekazac po 4 parametry?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
prond
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Cytat
panowie jak wywolac 2 funkcje w zdarzeniu onkeypress

Spróbuj tak :
element.addEventListener('click',doSomething,false);
element.addEventListener('click',doSomethingElse,false);

Jednak przyjemniej się to robi wykorzystując prototype.js : http://www.prototypejs.org/api/event/observe
Tam masz już gotowe rozwiązanie problemu z this dla metod obsługujących zdarzenia.

Cytat
jeszcze do obu przekazac po 4 parametry

Tu nie bardzo rozumiem. Zdarzenie jedynie przekazuje do funkcji, która je obsługuje obiekt typu Event, z którego możesz się dobrać do obiektu, który wywołał zdarzenie i innych własności.
Może jednak chodzi Tobie o tzw. funkcje anonimowe:

element.addEventListener('click',function () {
doSomething('a', 1, 2, 3);
},false)
Go to the top of the page
+Quote Post
skowron-line
post
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


znalazlem taki przyklad w ksiazce
  1. <head>
  2. <script type="text/javascript">
  3.  
  4. var click = function() {
  5. alert('a');
  6. }
  7.  
  8. var click2 = function() {
  9. alert('b');
  10. }
  11.  
  12. var div = document.getElementById('abc');
  13. div.addEventListener('onclick',click);
  14. div.addEventListener('onclick',click2);
  15.  
  16. </script>
  17. </head>
  18. <body>
  19.  
  20. <div id="abc">
  21. sdad
  22. </div>
  23.  
  24. </body>
  25. </html>


ale jakos nieche trybic?
Go to the top of the page
+Quote Post
php programmer
post
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


A czy wiesz jak wywołać jedną funkcję?

Jak tak to wywołaj podstwioną funkcję, która jest w postaci:

Kod
function JednaFunkcja(){
funkcja1();
funkcja2();
}


Ten post edytował php programmer 23.05.2007, 12:04:36
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




można tez oldschoolowo : P
  1. <input type="text" onkeypress='func1(); func2();' />
Go to the top of the page
+Quote Post
skowron-line
post
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <head>
  2. <script type="text/javascript">
  3.  
  4.  
  5. function pokaz(el,el2){
  6.  
  7. function poka(el) {
  8. alert('zegnaj '+el);
  9. }
  10.  
  11. function poka2(el2){
  12. alert('witaj '+el2);
  13. }
  14. }
  15.  
  16. </script>
  17. </head>
  18. <body>
  19.  
  20. <div id="abc">
  21. <a href="#" onclick="pokaz('ziom','ziom');">aaa</a>
  22. </div>
  23.  
  24. </body>
  25. </html>


cos takiego tez niedziala a konsola bledow nie pokazuje nic

Cytat(Cysiaczek @ 23.05.2007, 11:14:40 ) *
można tez oldschoolowo : P
  1. <input type="text" onkeypress='func1(); func2();' />


no i o to chodzilo (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) dzieki Cysiaczek
Go to the top of the page
+Quote Post
prond
post
Post #7





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


1. addEventListener wywołujesz w nagłówku, a tam nie masz od razu dostępu do div'ów. Umieść ten kod poniżej swojego DIVa, albo wykonaj go przy body.onload
2. Masz błąd w div.addEventListener('onclick',click);, powinno być div.addEventListener('click',click);
3. addEventListener potrzebuje 3 argumentów (ostatni jest boolean i decyduje o kolejności odpalania eventów, poczytaj sobie : http://www.quirksmode.org/js/events_order.html)

Po tych poprawkach wygląda to mniej więcej tak:
  1.  
  2. <div id="abc">
  3. sdad
  4. </div>
  5.  
  6. <script type="text/javascript">
  7.  
  8. var click = function() {
  9. alert('a');
  10. }
  11.  
  12. var click2 = function() {
  13. alert('b');
  14. }
  15.  
  16. var div = document.getElementById('abc');
  17. div.addEventListener('click',click,false);
  18. div.addEventListener('click',click2,false);
  19.  
  20. </body>
  21. </html>
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #8





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


@prond prawidłowo powinno być window.onload, ponieważ dopiero po załadowaniu całego dokumentu jest zbudowane całe drzewo.
Co prawda jak jest za elementem, to go już działa w przeglądarkach, ale to nie jest prawidłowe.
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: 24.08.2025 - 12:45