Нет встроенного решения этой проблемы, это проблема вашего дизайна и шаблона кодирования.
Вы можете использовать шаблон издателя / подписчика. Для этого вы можете использовать пользовательские события 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, кроме элемента ввода. В любом случае вы можете изменить это, чтобы использовать с любым элементом (ами).