2010-11-12 13 views
6

Tengo un menú ul/li de dos niveles donde el li puede activarse de diferentes eventos onclick.evitar eventos dobles (onclick) con ul/li anidado

Parece que el evento principal (ul li) se dispara al hacer clic en un ul li ul-item.

Puedo evitar esto de una manera fácil.

(estoy pensando en el uso de temporizador para el segundo evento de captura, pero pensar en ella como una solución fea ...)

Saludos, /T

+0

¿Está utilizando javascript directo o una biblioteca js para establecer eventos? –

+0

no se usó biblioteca. – Teson

Respuesta

8

supongo que tiene que detener la propagación de eventos por lo que si usted está usando Javascript recta tiene event.cancelBubble = true

de lo contrario si usted está usando jQuery tiene event.stopPropagation() o event.stopImmediatePropagation()

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

+0

cancelBubble funciona perfectamente, ¡gracias! – Teson

+1

cancelBubble no es estándar (Internet Explorer) aunque parece que otros navegadores lo admiten. Para ser correcto, también debe usar 'event.stopPropagation()' si está disponible – meouw

Cuestiones relacionadas