दिलचस्प पोस्ट
मैं कैसे जांचूं अगर कोई चर मौजूद है? JavaFX 2.2 को अन्य वीडियो कोडेक / डीवीडी समर्थन जोड़ना आर्किटेक्चर arm64 के लिए अनिर्धारित प्रतीकों जब स्थिर सी ++ क्लास सदस्यों को आरंभ किया जाता है? अनुकूली रोलिंग विंडो फ़ंक्शन – आर में शीर्ष प्रदर्शन असुरक्षित ट्रस्ट मैनेजर के लिए Google Play सुरक्षा चेतावनी मिंगव के साथ खिड़कियों पर मढ़ना स्विफ्ट में नेविगेशन बार रंग बदलना सरणी से यादृच्छिक वस्तु प्राप्त करें स्प्रिंग एमवीसी में स्थिर सामग्री को कैसे संभालना है? NSAttributedText में HTML को पार्स करना – फ़ॉन्ट सेट करने के लिए कैसे? जावास्क्रिप्ट कॉल नेस्टेड फ़ंक्शन एसडी कार्ड पर फ़ोल्डर हटाएं नरम कीबोर्ड प्रोग्राम को खोलें पायथन रिगेक्स मिलान वाले यूनिकोड गुण

कैसे क्लिक करें घटना केवल माता पिता डीआईवी पर आग, नहीं बच्चों?

मेरे पास वर्गीकृत फ़ोबार के साथ एक डीआईवी है, और उस डीआईवी के कुछ डीआईवी जो बिना दर्जे का है, लेकिन मुझे लगता है कि वे फोबोर वर्ग को प्राप्त कर रहे हैं:

 $('.foobar').on('click', function() { /*...do stuff...*/ }); 

मैं चाहता हूं कि केवल डीआईवी में कहीं पर क्लिक करने पर इसे बंद कर दें, लेकिन इसके बच्चों में डिविज़ नहीं।

वेब के समाधान से एकत्रित समाधान "कैसे क्लिक करें घटना केवल माता पिता डीआईवी पर आग, नहीं बच्चों?"

यदि e.target उसी तत्व है, तो आप किसी वंश पर क्लिक नहीं किए हैं।

 $('.foobar').on('click', function(e) { if (e.target !== this) return; alert( 'clicked the foobar' ); }); 
 .foobar { padding: 20px; background: yellow; } span { background: blue; color: white; padding: 8px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class='foobar'> .foobar (alert) <span>child (no alert)</span> </div> 

एक और तरीका है जो काम करता है अगर आप केवल नए ब्राउज़रों को लक्षित करने पर ध्यान नहीं देते हैं बस सीएसएस जोड़ें

 pointer-events: none; 

डिवेल के किसी भी बच्चे को आप क्लिक पर कब्जा करना चाहते हैं यहाँ समर्थन तालिकाओं है

http://caniuse.com/#feat=pointer-events

आप अपने पक्ष में बुदबुदाती का उपयोग कर सकते हैं:

 $('.foobar').on('click', function(e) { // do your thing. }).on('click', 'div', function(e) { // clicked on descendant div e.stopPropagation(); }); 
 //bind `click` event handler to the `.foobar` element(s) to do work, //then find the children of all the `.foobar` element(s) //and bind a `click` event handler to them that stops the propagation of the event $('.foobar').on('click', function () { ... }).children().on('click', function (event) { event.stopPropagation(); //you can also use `return false;` which is the same as `event.preventDefault()` and `event.stopPropagation()` all in one (in a jQuery event handler) }); 

यह .foobar तत्व (एस) के किसी भी बच्चे के तत्व ( .foobar ) पर click ईवेंट के प्रसार (बुदबुदाहट) को रोक देगा, ताकि ईवेंट। .foobar तत्व (एस) तक पहुंच न जाए जिससे कि उनके ईवेंट हैंडलर को आग .foobar सके। )।

यहां एक डेमो है: http://jsfiddle.net/bQQJP/

 $(".advanced ul li").live('click',function(e){ if(e.target != this) return; //code // this code will execute only when you click to li and not to a child })