Es gibt keine eingebaute Lösung für dieses Problem. Dies ist ein Problem mit Ihrem Design und Codierungsmuster.
Sie können das Publisher / Subscriber-Muster verwenden. Hierfür können Sie benutzerdefinierte jQuery-Ereignisse oder Ihren eigenen Ereignismechanismus verwenden.
Zuerst,
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 });
}
Jetzt können Sie divhtmlchanging / divhtmlchanged-Ereignisse wie folgt abonnieren:
$(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
});
Jetzt müssen Sie Ihre Änderungen am Div-Inhalt über diese changeHtml()
Funktion ändern . Sie können also die erforderlichen Änderungen entsprechend überwachen oder vornehmen, da das Argument für die Rückrufdatenbindung die Informationen enthält.
Sie müssen das HTML Ihres Divs so ändern;
changeHtml('#mydiv', '<p>test content</p>');
Sie können dies auch für alle HTML-Elemente außer Eingabeelementen verwenden. Auf jeden Fall können Sie dies ändern, um es mit jedem Element zu verwenden.