2010-11-12 12 views
6

के साथ डबल इवेंट (ऑनक्लिक) से बचें मेरे पास दो-स्तर वाला उल/ली मेनू है जहां ली विभिन्न ऑनक्लिक-इवेंट्स की आग लग सकती है।नेस्टेड उल/ली

ऐसा लगता है कि पेरेंट-इवेंट (उल ली), एक उल ली उल ली-आइटम पर क्लिक करते समय निकाल दिया जाता है।

क्या मैं इसे एक आसान तरीका से बच सकता हूं।

(मैं जाल दूसरी घटना के लिए टाइमर का उपयोग पर विचार कर रहा हूँ, लेकिन एक बदसूरत ठीक तरह इसका विचार करें ...)

सादर, /टी

+0

क्या आप ईवेंट सेट करने के लिए सीधे जावास्क्रिप्ट या जेएस लाइब्रेरी का उपयोग कर रहे हैं? –

+0

कोई पुस्तकालय इस्तेमाल नहीं किया गया। – Teson

उत्तर

8

मैं तुम्हें अगर आप सीधे उपयोग कर रहे हैं तो बुदबुदाती जावास्क्रिप्ट आपके पास event.cancelBubble = true

अन्यथा यदि आप jQuery का उपयोग कर रहे आप event.stopPropagation() या event.stopImmediatePropagation()

http://api.jquery.com/category/events/event-object/ है घटना रोकने के लिए लगता है

+0

रद्द करेंबुल पूरी तरह से काम करता है, धन्यवाद! – Teson

+1

रद्द करें बबल गैर मानक (इंटरनेट एक्सप्लोरर) है हालांकि ऐसा लगता है कि कुछ अन्य ब्राउज़र इसका समर्थन करते हैं। सही होने के लिए आपको उपलब्ध होने पर 'event.stopPropagation() 'का उपयोग करना चाहिए – meouw

2

मिले उचित खोज गूगल करने के लिए शब्द और मिल गया जवाब। शायद यही वह है जिसे आप ढूंढ रहे हैं।

Event propagation in Javascript