इस समस्या का कोई इनबिल्ट समाधान नहीं है, यह आपके डिज़ाइन और कोडिंग पैटर्न के साथ एक समस्या है।
आप प्रकाशक / ग्राहक पैटर्न का उपयोग कर सकते हैं। इसके लिए आप jQuery के कस्टम इवेंट या अपने स्वयं के ईवेंट तंत्र का उपयोग कर सकते हैं।
प्रथम,
function changeHtml(selector, html) {
var elem = $(selector);
jQuery.event.trigger('htmlchanging', { elements: elem, content: { current: elem.html(), pending: html} });
elem.html(html);
jQuery.event.trigger('htmlchanged', { elements: elem, content: html });
}
अब आप निम्न के रूप में divhtmlchanging / divhtmlchanged घटनाओं की सदस्यता ले सकते हैं,
$(document).bind('htmlchanging', function (e, data) {
//your before changing html, logic goes here
});
$(document).bind('htmlchanged', function (e, data) {
//your after changed html, logic goes here
});
अब, आपको इस changeHtml()
फ़ंक्शन के माध्यम से अपनी div सामग्री में परिवर्तन करना होगा। तो, आप निगरानी कर सकते हैं या तदनुसार आवश्यक परिवर्तन कर सकते हैं क्योंकि जानकारी से युक्त कॉलबैक डेटा तर्क को बांधें।
आपको अपने div के html को इस तरह बदलना होगा;
changeHtml('#mydiv', '<p>test content</p>');
और इसके अलावा, आप इनपुट तत्व को छोड़कर किसी भी html तत्व (एस) के लिए इसका उपयोग कर सकते हैं। वैसे भी आप इसे किसी भी तत्व (एस) के साथ उपयोग करने के लिए संशोधित कर सकते हैं।