我們做電子商務,javascript框架采用的是jQuery,在開發過程中遇到了上面標題列出的問題:如何監聽div內容的變化。
先給出最終代碼(后續進行相關分析):
復制代碼 代碼如下:
var + $(e.target).html());
});
復制代碼 代碼如下:
$('#laneconfigdisplay').bind('contentchanged', function() {
// do something after the div content has changed
alert('woo');
});
// 這樣會調用上面的函數
$('#laneconfigdisplay').trigger('contentchanged');
復制代碼 代碼如下:
jQuery.fn.watch = function( id, fn ) {
returnthis.each(function(){
var self = this;
var oldVal = self[id];
$(self).data(
'watch_timer',
setInterval(function(){
if(self[id] !== oldVal) {
fn.call(self, id, oldVal, self[id]);
oldVal = self[id];
}
},100)
);
});
returnself;
};
jQuery.fn.unwatch = function( id ) {
returnthis.each(function(){
clearInterval( $(this).data('watch_timer') );
});
};
復制代碼 代碼如下:
jQuery.fn.valuechange = function(fn) {
returnthis.bind('valuechange', fn);
};
jQuery.event.special.valuechange = {
setup: function() {
jQuery(this).watch('value', function(){
jQuery.event.handle.call(this, {type:'valuechange'});
});
},
teardown: function() {
jQuery(this).unwatch('value');
}
};
復制代碼 代碼如下:
var + $(e.target).html());
});
新聞熱點
疑難解答
圖片精選