2011-06-24 16 views
7

से घटना क्लिक करें मैं HTML निम्नलिखित है:अधिभावी लिए अभिभावकों की तत्व बाल तत्व

<table> 
    <tr> 
     <td><div>test</div></td> 
     <td>Some Text</td> 
    </tr> 
</table> 

JQuery का उपयोग करना, मैं कुछ कोड है कि टी.आर. तत्व पर जब उपयोगकर्ता क्लिक चलाता है। यह अच्छा काम करता है।

हालांकि, जब कोई टीडी तत्व के अंदर डीआईवी पर क्लिक करता है, तो मुझे केवल डीआईवी की "क्लिक" घटना चाहिए और माता-पिता के टीआर "क्लिक" ईवेंट नहीं चाहिए।

मैं यह कैसे कर सकता हूं?

अग्रिम धन्यवाद!

उत्तर

8

उपयोग stopPropagation:

$(function() { 
    $('tr').bind('click', function (e) { 
     console.log('tr'); 
    }); 
    $('div').bind('click', function(e) { 
     e.stopPropagation(); 
     console.log('div'); 
    }); 

});

jsfiddle

1

अपने click हैंडलर में evt.stopPropagation का उपयोग करें। jQuery के event.stopPropagation() पर

+1

'preventDefault()' घटना बुदबुदाती नहीं रूकती है। –

+1

@ ime विदास: डर्न, प्रश्न को गलत तरीके से पढ़ें ... – Ryan

2

event.stopImmediatePropagation() मेरे लिए काम किया :)

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। किसी लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपनी पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त [प्रतिष्ठा] (http://stackoverflow.com/help/whats-reputation) हो [किसी भी पोस्ट पर टिप्पणी करने में सक्षम] [http://stackoverflow.com/help/privileges/comment)। – Barranka

+1

मैं उपरोक्त उत्तरों पर टिप्पणी नहीं जोड़ सका क्योंकि ये मेरे जवाब नहीं हैं। evt.stopPropagation() ने मेरे लिए काम नहीं किया, जबकि event.stopImmediatePropagation() ने किया, इसलिए मैं इसे दूसरों के साथ साझा करने के योग्य महसूस करता हूं :) –

संबंधित मुद्दे