2013-05-09 11 views
5

http://jsfiddle.net/YsnhT/2/jQuery घटना के बाद पर संलग्न करने के बाद काम नहीं कर रहा संलग्न

Jquery घटना काम नहीं कर रहा। जब मैं सहेजें बटन क्लिक करता हूं तो मुझे टेक्स्टरेरा के मूल्य की आवश्यकता होती है।

$('.span8') 
    .on('click', 
      '.btn', 
      function() { 
     var input = $("#textarea").val(); 
     alert(input); 
    }); 

$('body').on('click','#createNote',function() {    $('.span8').empty(); 
       $('.span8').append('<button type="button" class="btn" style="float: right; margin-right: 8px;background-color:#dddddd;font-family:Roboto Slab;color: black" id="save" data-loading-text="Saving...">Save</button><div class="hero-unit"><input type="text" style="width: 100%" id="title" placeholder="Title"/>'+ 
       '<textarea contenteditable="true" id="textarea" class="textarea" placeholder="Enter text ..."style="width: 100%;">dd</textarea></div>'); 

      }); 

HTML:

<div class="span8"></div> 
+0

संभावित डुप्लिकेट [गतिशील रूप से जेनरेट किए गए तत्व द्वारा ट्रिगर किए गए ईवेंट ईवेंट हैंडलर द्वारा कैप्चर नहीं किए जाते हैं] (http://stackoverflow.com/questions/12829963/events-triggered-by- गतिशील- जनरेटेड-element-are-not-captured -by-event-hand) –

उत्तर

14

#save के बाद से गतिशील रूप से बनाई गई है, तो निम्न हैंडलर का उपयोग करें:

$(document).on('click', '#save' ,function() { 
    //do stuff 
}); 

अपडेट किया गया बेला: http://jsfiddle.net/tymeJV/YsnhT/3/

आपको यह भी सुनिश्चित करना चाहिए अपने "क्लिक" बटन हैंडलर इस तरह, या नहीं तो यह नई सी पर आग नहीं लगेगा #click बटन reated।

+0

बहुत बहुत धन्यवाद, यह एक आकर्षण की तरह काम करता है। – shashank

1

बचाने गतिशील पैदा कर रही है here.So on

$(document).on('click', '#save' ,function() { 
}); 
3

का उपयोग कर आप गतिशील फ़ॉरमेट में सौंपने के लिए प्रयास करें:

$(document).on('click', '#save' ,function() { 
    //do stuff 
}) 

और शायद के लिए भी ऐसा ही:

$(document).on('click', '#click' ,function() { 
    //do stuff 
}) 
+0

उत्तर के लिए धन्यवाद। – shashank

0

एक बार जब आप तत्व जोड़ चुके हैं तो आपको हैंडलर को फिर से बांधना होगा या jQuery का उपयोग करना होगा के रहते() फ़ंक्शन, इसलिए जैसे:

$('.span8 .btn').live('click', function() { 
    var input = $("#textarea").val(); 
    alert(input); 
}); 
+0

'लाइव' को बहिष्कृत किया जाना प्रतीत होता है। आपको इसके बजाय 'on' के साथ जाना होगा। अन्य पदों की तरह सुझाव देता है। –

0

जांच इस ...

$ ('btn'।) पर क्लिक करें (function() {

var input = $("#textarea").val(); 
    alert(input); 

});।

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