2013-10-18 5 views
7

के रूप में आज मैं jquery के साथ अपना मन खोना शुरू कर रहा हूं, मैं अन्य प्रश्नों को देखता हूं लेकिन अब तक कुछ भी काम नहीं करता है। मेरे पास सरल HTML संरचना है (लूप के लिए गतिशील रूप से जोड़ा गया है)।चुनिंदा रिटर्न पर jquery क्लिक इवेंट बच्चे को

<div id="cell'+i+'" class="cell emptyCell"> 
    <div class="handle"></div> 
    <div class="content"></div> 
</div> 

मैं "पर" विधि का उपयोग कर रहा बाध्य करने के लिए एक कस्टम समारोह के साथ वर्ग ".emptyCell" के तत्वों में से "घटना क्लिक करें"।

$(document).on('click','.emptyCell', function(e){ 

    console.log(e.target.id); 

}); 

लेकिन जब उपयोगकर्ता .Content div (emptyCell के बच्चे) पर क्लिक करता है, यह घटना पकड़ता, और कंसोल प्रिंट "अनिर्धारित" के बाद से .Content तत्वों आईडी यहां नहीं है।

यह भी कैसे संभव है? क्या .on फ़ंक्शन क्लास के तत्वों को बाध्य करने वाला नहीं है .empty केवल?

आपकी मदद

+0

मुझे ऐसा नहीं लगता, मुझे लगता है कि ऐसा इसलिए है क्योंकि वे ओवरलैपिंग करते हैं, और लक्ष्य इनआई को संदर्भित करता है – webaba

उत्तर

20

e.target के लिए धन्यवाद वास्तविक तत्व जहां क्लिक हुआ (यह handle या content तत्व हो सकते हैं) को संदर्भित करता है, यदि आप तो आप उपयोग कर सकते हैं emptyCell उल्लेख करना चाहते हैं this या e.currentTarget

$(document).on('click','.emptyCell', function(e){ 
    console.log(this.id); 
    console.log(e.currentTarget.id); 
}); 

डेमो: Fiddle

+0

उत्तर में विस्तारित के रूप में टियल इवेंट बहुत बहुत धन्यवाद! मैं अब बेहतर समझता हूं ... – webaba

+0

धन्यवाद, आपने इसे पूरी तरह से स्पष्ट समझाया – pastullo

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