Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] $('label').click() wywołuje dwukrotnie callback, bug jQuery, albo ja czegoś nie wiem...
sowiq
post
Post #1





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Kiedyś miałem już ten problem, ale obszedłem go trochę inaczej i dałem sobie spokój. Teraz temat powrócił, ale pytam bardziej z ciekawości, bo sytuacja jest dla mnie trochę nielogiczna.

Mam prościutki kod HTML:
  1. <form action="#" method="post">
  2. <label><input type="radio" name="test" value="1" /> test label (click here)</label><br />
  3. <input id="inp2" type="radio" name="test" value="1" /> Another input without label
  4. </form>


A do niego podpięty równie prosty kod JS:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $('label').click( function(){
  3. alert('1');
  4. });
  5. $('#inp2').click( function(){
  6. alert('2');
  7. });
  8. });
[JAVASCRIPT] pobierz, plaintext

W działaniu wygląda to tak.

I teraz tak:
- po kliknięciu w pierwsze pole radio pokazuje się alert: 1 - OK.
- po kliknięciu w drugie pole radio pokazuje się alert: 2 - też OK.
- po kliknięciu na napis test label (click here) również pokazuje się alert: 1, ale dwukrotnie. Moje pytanie brzmi - dlaczego tak się dzieje?

Dla bardziej dociekliwych dodam, że change( callback ) nie przyda mi się ze względu na to, że pod IE callback jest wykonywany dopiero w momencie zdjęcia focusa z pola radio.

Ten post edytował sowiq 28.08.2009, 01:26:35
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 23:53