Il n'y a pas de solution intégrée à ce problème, c'est un problème avec votre modèle de conception et de codage.
Vous pouvez utiliser le modèle éditeur / abonné. Pour cela, vous pouvez utiliser des événements personnalisés jQuery ou votre propre mécanisme d'événements.
Première,
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 });
}
Vous pouvez maintenant vous abonner aux événements divhtmlchanging / divhtmlchanged comme suit,
$(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
});
Maintenant, vous devez changer vos modifications de contenu div via cette changeHtml()
fonction. Vous pouvez donc surveiller ou effectuer les modifications nécessaires en conséquence, car l'argument de données de rappel de liaison contenant les informations.
Vous devez changer le code HTML de votre div comme ceci;
changeHtml('#mydiv', '<p>test content</p>');
Et aussi, vous pouvez l'utiliser pour tout élément html à l'exception de l'élément d'entrée. Quoi qu'il en soit, vous pouvez le modifier pour l'utiliser avec n'importe quel élément.