Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery][prototype] o co chodzi z tym klikaniem $().click(fn) $().observe('click', fn)?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
23kulpamens
Jakiego frameworku bym nie używał, czy prototype.js czy JQuery mam ten sam problem ze zdarzeniem kliknięcia.

Aktualnie w JQuery:

  1. function handleClick(e){
  2. console.log( "a");
  3. }
  4.  
  5. $(document).ready( function (e){
  6. $('#tester').click( handleClick( e));
  7. $('#tester2').click( function (e){
  8. console.log( "b");
  9. });
  10. });


Używam dodatku FireBug, do którego wysyłam komunikaty konsoli (console.log()). W momencie wczytania strony w konsoli jest już jedno "a" i klikanie na element #tester nic nie daje, natomiast klinaie na #tester2 wysyła do konsoli "b". Nie rozumiem dlaczego wykonuje się funkcja handleClick() bez wywoływania, ani gdize jest błąd. W książkach które czytalem o Prototype czy JQuery przykłady są napisane właśnie w ten sposób. Jaki błąd popełniam??
lord_t
Właśnie masz tam wywołanie (ale tak nie można robić):
Kod
$('#tester').click( handleClick(e));

możesz zrobić tak:
Kod
$('#tester').click(handleClick);

albo tak:
Kod
$('#tester').click(function(){ handleClick(e);} );


Edit: Masz rację co do drugiego przykładu:) jeśli chcesz otrzymać event w funckji:)
23kulpamens
Cytat(lord_t @ 14.03.2009, 17:05:01 ) *
albo tak:
Kod
$('#tester').click(function(){ handleClick(e);} );



A nie powinno być czasem tak??
Kod
$('#tester').click(function(e){ handleClick(e);} );


W każdymm razie wielkie dzięki, nie wiedziałem już co robić biggrin.gif
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.