監聽元素的變化

在項目中,遇到監聽其中一個元素的變化,來進行動態變化其餘元素的要求,百度到都是window.onresize,沒找到對單個元素的監聽,下面是大牛推薦的方法: MutationObserver

var MutationObserver = window.MutationObserver ||
    window.WebKitMutationObserver || window.MozMutationObserver; //瀏覽器兼容
var config = { attributes: true, childList: true} //配置對象
$("要監聽的DOM元素").each(function(){
   var _this = $(this);
   var observer = new MutationObserver(function(mutations) {//構造函數回調
      mutations.forEach(function(record) {
         if(record.type == "attributes"){//監聽屬性
            console.log('change');
         }
         if(record.type == 'childList'){//監聽結構發生變化
              //do any code
         }
      });
   });
   observer.observe(_this[0], config);
});
複製代碼
相關文章
相關標籤/搜索