Potrzebuję znanego zdarzenia dotyczącego zawartości zmienić mój element div, w jaki sposób mogę to zrobić za pomocą jquery?Zdarzenie zmiany elementu elementu html
<div id="mydiv">text before</div>
po pewnym czasie
<div id="mydiv>other content</div>
i zrobić taki sposób
$("#mydiv").change(function() { alert('yes'); });
przez nie działa
(function(){
var interval;
jQuery.event.special.contentchange = {
setup: function(data, namespaces) {
var $this = $(this);
var $originalContent = $this.text();
interval = setInterval(function(){
if($originalContent != $this.text()) {
console.log('content changed');
$originalContent = $this.text();
jQuery.event.special.contentchange.handler();
}
},500);
},
teardown: function(namespaces){
clearInterval(interval);
},
handler: function(namespaces) {
jQuery.event.handle.apply(this, arguments)
}
};
})();
$("#mydiv").bind("contentchange", function() {
alert('yes'); ///no alert! why?
});
ale widzę dzienniki w konsoli!
nie sądzę, jest wydarzeniem cross-browser do tego. Kiedy zmienia się zawartość div? Czy istnieje możliwość podpięcia się do tej funkcji? –
Sprawdź ten wpis na SO. Jest na podobnych liniach, o które pytasz: http://stackoverflow.com/questions/1449666/create-a-jquery-special-event-for-content-changed – Chandu
Jak konkretnie zmieniasz zawartość elementu? –