2010-11-12 9 views
6

Mam dwupoziomowe menu ul/li, w którym li można uruchomić różne zdarzenia onclick.unikaj podwójnych zdarzeń (onclick) z zagnieżdżonymi ul/li

Wydaje się, że jest to wydarzenie nadrzędne (ul li), jest uruchamiane po kliknięciu w jeden z ululów-pozycji.

Czy mogę tego uniknąć w łatwy sposób.

(jestem rozważa wykorzystanie timera pułapkę drugim przypadku, ale myśleć o tym, jak brzydkie fix ...)

Pozdrowienia, /t

+0

Czy używasz prostego javascript lub biblioteki js do ustawiania zdarzeń? –

+0

brak biblioteki używanej. – Teson

Odpowiedz

8

Przypuszczam trzeba zatrzymać zdarzenie propagacji więc jeśli używasz prosto javascript masz event.cancelBubble = true

inaczej, jeśli używasz jQuery masz event.stopPropagation() lub event.stopImmediatePropagation()

http://api.jquery.com/category/events/event-object/

+0

cancelBubble działa idealnie, dziękuję! – Teson

+1

cancelBubble jest niestandardowy (przeglądarka internetowa), chociaż wygląda na to, że obsługują go inne przeglądarki. Aby być poprawnym, powinieneś także użyć 'event.stopPropagation()' jeśli jest ona dostępna – meouw

Powiązane problemy