Bu sorunun dahili bir çözümü yoktur, bu tasarım ve kodlama deseninizle ilgili bir sorundur.
Yayıncı / abone kalıbını kullanabilirsiniz. Bunun için jQuery özel etkinliklerini veya kendi etkinlik mekanizmanızı kullanabilirsiniz.
İlk,
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 });
}
Artık divhtmlchanging / divhtmlchanged etkinliklerine aşağıdaki gibi abone olabilirsiniz,
$(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
});
Şimdi, div içeriği değişikliklerinizi bu changeHtml()
işlev aracılığıyla değiştirmeniz gerekir . Bu nedenle, bilgileri içeren geri arama verisi bağımsız değişkenini bağlama nedeniyle gerekli değişiklikleri izleyebilir veya yapabilirsiniz.
Div'inizin html'sini şu şekilde değiştirmeniz gerekir;
changeHtml('#mydiv', '<p>test content</p>');
Ayrıca, bunu giriş öğesi hariç herhangi bir html öğesi için kullanabilirsiniz. Her neyse, bunu herhangi bir öğeyle kullanmak için değiştirebilirsiniz.