2010-11-12 47 views
6

Tôi có một trình đơn ul/li hai cấp nơi li có thể kích hoạt các sự kiện onclick khác nhau.tránh các sự kiện kép (onclick) với lồng nhau ul/li

Có vẻ như là sự kiện cha mẹ (ul li), được kích hoạt khi nhấp vào một ul li ul li-item.

Tôi có thể tránh điều này một cách dễ dàng không.

(Tôi đang xem xét sử dụng hẹn giờ để sự kiện thứ hai bẫy, nhưng nghĩ về nó như một sửa chữa xấu xí ...)

Kính trọng, /T

+0

bạn có đang sử dụng javascript thẳng hoặc thư viện js để đặt sự kiện không? –

+0

không sử dụng thư viện nào. – Teson

Trả lời

8

Tôi cho rằng bạn phải dừng sự kiện bọt vì vậy nếu bạn đang sử dụng thẳng javascript bạn có event.cancelBubble = true

khác nếu bạn đang sử dụng jQuery bạn có event.stopPropagation() hoặc event.stopImmediatePropagation()

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

+0

cancelBubble hoạt động hoàn hảo, cảm ơn bạn! – Teson

+1

cancelBubble là không chuẩn (Internet explorer) mặc dù có vẻ như một số trình duyệt khác hỗ trợ nó. Để chính xác, bạn cũng nên sử dụng 'event.stopPropagation()' nếu nó có sẵn – meouw

Các vấn đề liên quan