जब मैं किसी पृष्ठ में append(htmlString) विधि द्वारा गतिशील रूप से डाली गई HTML सामग्री का उपयोग करने का प्रयास करता हूं, तो click ईवेंट ट्रिगर नहीं होता है। जब मैं सामान्य रूप से समान HTML सामग्री का उपयोग करने का प्रयास करता हूं, तो click ईवेंट ट्रिगर हो जाता है।

$('#slc_field').change(function(event){
    $('#add_fields').removeClass("d-none");
    remove_link = "<a href='#' id="+this.value+" class='del_field text-danger' title='Remover item'> (x)</a>";
    html_field = " <div class='form-group col-md-4'>" +
                   "<label for='level_systemx'>Sistema de arranjo "+ remove_link +" </label> " +
                   "<textarea class='form-control' id='level_systemx' name='level_systemx' cols='250' rows='5'></textarea>" +
                  "</div>"
    $('#form_fields').append(html_field)
});

$('.del_field').click(function(event){
    $(event.target.parentNode.parentNode).remove()

});

क्या append विधि द्वारा डाले गए HTML पर click ईवेंट को ट्रिगर करना संभव है?

3
Wesin Alves 28 मार्च 2018, 14:59

3 जवाब

सबसे बढ़िया उत्तर

आप ऐसा भी कर सकते हैं,

 $(document).on('click', '.del_field',function(event){
    $(event.target.parentNode.parentNode).remove();
});
3
Mohammad Raheem 28 मार्च 2018, 12:05

click इवेंट का सिंटैक्स गलत लगता है। आपको click कीवर्ड को on से स्वैप करना होगा। सही सिंटैक्स नीचे जैसा दिखना चाहिए:

$('.del_field').on('click', function (event) {
    $(event.target.parentNode.parentNode).remove()
});
-1
Shashank 28 मार्च 2018, 12:36

आपको ईवेंट प्रतिनिधिमंडल का उपयोग करना होगा।

$('body').click('on', '.del_field', function(event){
    $(event.target.parentNode.parentNode).remove()
});
2
giggi__ 28 मार्च 2018, 12:01