最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquery監(jiān)聽div內(nèi)容的變化具體實現(xiàn)思路

 更新時間:2013年11月04日 15:42:57   作者:  
在開發(fā)過程中遇到了上面標題列出的問題:如何監(jiān)聽div內(nèi)容的變化,下面是具體的解決思路,感興趣的朋友可以參考下

我們做電子商務,javascript框架采用的是jQuery,在開發(fā)過程中遇到了上面標題列出的問題:如何監(jiān)聽div內(nèi)容的變化。
先給出最終代碼(后續(xù)進行相關分析):

復制代碼 代碼如下:

var title = $("b.facility");
var title = $('#title');//the element I want to monitor
title.bind('DOMNodeInserted', function(e) {
alert('element now contains: ' + $(e.target).html());
});

解決問題的思路如下:
我們先回顧一下jQuery事件中的change()方法定義和用法:
當元素的值發(fā)生改變時,會發(fā)生 change 事件。
該事件僅適用于文本域(text field),以及 textarea 和 select 元素。
change() 函數(shù)觸發(fā) change 事件,或規(guī)定當發(fā)生 change 事件時運行的函數(shù)。
注釋:當用于 select 元素時,change 事件會在選擇某個選項時發(fā)生。當用于 text field 或 text area 時,該事件會在元素失去焦點時發(fā)生。
但是問題出現(xiàn)了關于div內(nèi)容的改變change方法中只字不提,我們?nèi)绾翁幚砟牵?
后續(xù)百度關鍵詞: jquery div 內(nèi)容發(fā)生變化:無果;
繼續(xù),bing關鍵詞:jquery how to listen div change 找到一篇相關文檔http://stackoverflow.com/questions/2712124/jquery-listen-to-changes-within-a-div-and-act-accordingly
粗略的明白是采用自定義事件的方式去處理問題,采納代碼如下:
復制代碼 代碼如下:

$('#laneconfigdisplay').bind('contentchanged', function() {
// do something after the div content has changed
alert('woo');
});
// 這樣會調(diào)用上面的函數(shù)
$('#laneconfigdisplay').trigger('contentchanged');

但是contentchanged是什么內(nèi)容沒有說明,繼續(xù)追溯
bing關鍵詞:jquery how to listen div change 找到一篇相關文檔
繼續(xù),bing關鍵詞:jquery contentchanged 找到一篇相關文檔http://stackoverflow.com/questions/1449666/create-a-jquery-special-event-for-content-changed
這篇文章詳細說明了contentchanged內(nèi)容定義,采納代碼如下:
復制代碼 代碼如下:

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') );
});
};

創(chuàng)建自定義事件
復制代碼 代碼如下:

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');
}
};

貌似這樣的解決是完美的但是后續(xù)再繼續(xù)查看到時候,發(fā)現(xiàn)有更簡潔的方式,代碼如下:
復制代碼 代碼如下:

var title = $("b.facility");
var title = $('#title');//the element I want to monitor
title.bind('DOMNodeInserted', function(e) {
alert('element now contains: ' + $(e.target).html());
});

感覺這應該是我需要代碼,do it !fine

相關文章

最新評論

禄劝| 三台县| 招远市| 白玉县| 定远县| 田东县| 青河县| 麻江县| 西藏| 肥乡县| 图木舒克市| 土默特右旗| 静安区| 平遥县| 乌鲁木齐县| 屯留县| 大理市| 饶平县| 仁化县| 渑池县| 宁波市| 福州市| 肃北| 鄱阳县| 双辽市| 宜宾市| 江源县| 湘乡市| 滁州市| 荔浦县| 运城市| 陆河县| 游戏| 河南省| 桦川县| 北海市| 石屏县| 南开区| 焦作市| 吉隆县| 宣化县|