2012-01-13 11 views
6

पर ईवेंट हैंडलर क्लिक करें मैं इस तरह कुछ कोड है सेट नहीं कर सकता। हालांकि, मेरे पास इस कंसोल लॉग में कुछ भी नहीं है जब मैं इस अवधि पर क्लिक कर रहा हूं। मैं क्या गलत कर रहा हूं?डायनामिक रूप से तैयार सामग्री

धन्यवाद।

पुनश्च: मैं jQuery 1.7.1 का उपयोग कर रहा

+1

[यह उत्तर] (http://stackoverflow.com/a/8774734/1114171) मदद कर सकता है, मुझे विश्वास है कि आप '()' जैसे 'bind() 'जैसे'()' ' –

उत्तर

12

live() का प्रयोग न करें - यह मान्य नहीं है। इसके बजाय on() उपयोग करें, लेकिन एक माता पिता के तत्व पर इसका इस्तेमाल, करने के लिए घटना को सौंपने के लिए इस तरह:

$('#parentOfPlay').on('click', '.play', function(){ 
    console.log('click'); 
}); 
+0

का उपयोग करें जो कि आसपास होगा: '$ ("# parentOfplay")। ("क्लिक करें", ".play", फ़ंक्शन() {}); ' । –

+0

@ FrédéricHamidi हाँ बस मैंने खुद को देखा - संपादित। धन्यवाद। –

+1

हाँ, यह चाल है। अगर मुझे सही लगता है तो मुझे गतिशील सामग्री के साथ $ (दस्तावेज़) का उपयोग करने की आवश्यकता है। गतिशील सामग्री के साथ $ ('selector')। गैर-गतिशील सामग्री के साथ, सही? – bbrodriges

-2

इस प्रयास करें:

$('.play').live('click', function(){ 
    console.log('click'); 
}); 
-2

क्या आप वाकई जब अपने कोड को क्रियान्वित ".play" तत्व पहले से ही वहाँ है कर रहे हैं? या शायद यह बाद में कोड में बनाया गया है .. यह एक ऑर्डरिंग मुद्दा हो सकता है।

संपादित करें: आप इसे गतिशील, का उपयोग 'जी' के बजाय 'पर के रूप में दूसरों :)

-1

ने सुझाव दिया

$(document).on('click', '.play' 
    function(){ 
     console.log('click'); 
}); 
+0

' .live() 'बहिष्कृत है और इससे बचा जाना चाहिए। '.on()' या '.delegate()' –

1

आप लाइव (जो अब 1.7 में पदावनत किया गया है का उपयोग कर सकते के साथ प्रयास करें चाहते हैं .1 इसलिए आपको वास्तव में इसका उपयोग नहीं करना चाहिए) या इसे चालू करना चाहिए, लेकिन आप जहां 'गलत' कर रहे हैं।

$(document).on('click', '.play', function(){ 
    console.log('click'); 
}); 
0

यहाँ क्या उपयोग करने के लिए की और जब नीचे एक अच्छा ब्रेक है। https://stackoverflow.com/a/8845306/1139444

.on आपको वह प्रभाव देगा जो आप ढूंढ रहे हैं लेकिन आपको इसे दस्तावेज़ चयनकर्ता पर करने की आवश्यकता है और कक्षा चयनकर्ता को .on कॉल में रखना होगा।

$(document).on('click', '.play', function(){ 
    console.log('click'); 
}); 
0

.play चयनकर्ता उस वर्ग के साथ एक कंटेनर की तलाश में है, तो आप के साथ कोड जनरेट करना होगा:

$('.game').html('<span class="play">Play</span>'); 
0

.html() एक वर्ग नामित खेल है कि सभी ब्लॉक की सामग्री को निर्धारित करता है खेलने के लिए। आपने कोई वर्ग .play नहीं बनाया है इसलिए $(".play") कुछ भी नहीं कमाता है। क्लिक फ़ंक्शन किसी भी चीज़ से बाध्य नहीं है और कंसोल पर कुछ भी नहीं दिखाया गया है। $(".game").on("click",function(){});

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