Нет встроенного решения этой проблемы, это проблема вашего дизайна и шаблона кодирования.
Вы можете использовать шаблон издателя / подписчика. Для этого вы можете использовать пользовательские события 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 / divhtmloted следующим образом:
$(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
});
Теперь вы должны изменить свои изменения содержимого div с помощью этой changeHtml()функции. Таким образом, вы можете отслеживать или делать необходимые изменения соответствующим образом, поскольку связываете аргумент данных обратного вызова, содержащий информацию.
Вы должны изменить HTML вашего div таким образом;
changeHtml('#mydiv', '<p>test content</p>');
А также, вы можете использовать это для любого элемента (ов) HTML, кроме элемента ввода. В любом случае вы можете изменить это, чтобы использовать с любым элементом (ами).