jquery監聽div內容(元素)的變化具體實現思路
我們做電子商務,javascript框架採用的是jQuery,在開發過程中遇到了上面標題列出的問題:如何監聽div內容的變化。
先給出最終程式碼(後續進行相關分析):
1 2 3 4 5 |
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()方法定義和用法:
當元素的值發生改變時,會發生 change 事件。
該事件僅適用於文字域(text field),以及 textarea 和 select 元素。
change() 函式觸發 change 事件,或規定當發生 change 事件時執行的函式。
註釋:當用於 select 元素時,change 事件會在選擇某個選項時發生。當用於 text field 或 text area 時,該事件會在元素失去焦點時發生。
但是問題出現了關於div內容的改變change方法中隻字不提,我們如何處理那?
後續百度關鍵詞: jquery div 內容發生變化:無果;
1 2 3 4 5 6 |
$( '#laneconfigdisplay' ).bind( 'contentchanged' ,
function() {
//
do something after the div content has changed
alert( 'woo' );
});
//
這樣會呼叫上面的函式
$( '#laneconfigdisplay' ).trigger( 'contentchanged' );
|
但是contentchanged是什麼內容沒有說明,繼續追溯
bing關鍵詞:jquery how to listen div change 找到一篇相關文件
繼續,bing關鍵詞:jquery contentchanged 找到一篇相關文件http://stackoverflow.com/questions/1449666/create-a-jquery-special-event-for-content-changed
這篇文章詳細說明了contentchanged內容定義,採納程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
jQuery.fn.watch
= function( id, fn ) {
|