이 문제에 대한 해결책은 내장되어 있지 않으며, 이는 디자인 및 코딩 패턴에 문제가 있습니다.
게시자 / 구독자 패턴을 사용할 수 있습니다. 이를 위해 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 / divhtml 변경된 이벤트를 구독 할 수 있습니다.
$(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()
기능을 합니다. 따라서 정보를 포함하는 바인딩 콜백 데이터 인수 때문에 그에 따라 필요한 변경을 모니터하거나 수행 할 수 있습니다.
div의 HTML을 다음과 같이 변경해야합니다.
changeHtml('#mydiv', '<p>test content</p>');
또한 입력 요소를 제외한 모든 html 요소에 사용할 수 있습니다. 어쨌든 모든 요소와 함께 사용하도록 수정할 수 있습니다.