这个问题没有内置的解决方案,这是你的设计和编码模式的问题。
您可以使用发布者/订阅者模式。为此,您可以使用 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 });
}
现在您可以订阅 divhtmlchanged/divhtmlchanged 事件,如下所示,
$(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
});
现在,您必须通过此changeHtml() 函数更改您的 div 内容更改。因此,您可以监视或可以相应地进行必要的更改,因为绑定包含信息的回调数据参数。
你必须像这样改变你的 div 的 html;
changeHtml('#mydiv', '<p>test content</p>');
此外,您可以将它用于除输入元素之外的任何 html 元素。无论如何,您可以修改它以与任何元素一起使用。