亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MutationObserver 即使從未被調用也會監聽

MutationObserver 即使從未被調用也會監聽

鴻蒙傳說 2023-02-24 16:22:48
我正在編寫一個外部腳本。我需要在每 30 秒清除一次的部分中添加一些元素。所以我綁定了MutationObserver內容被擦除后恢復的內容。在測試時,我注意到MutationObserver即使我從不給他打電話,我的工作也是如此。這是我創建元素的代碼:function moveFilters(){   if($("#new-filter-place").length == 0){       $("<h1 id='new-filter-place'>TEST</h1>").insertAfter($('#category-top10'));       observeFilters();   }}這是我的觀察者:function observeFilters(){    console.log('test');    var target = document.querySelector("#new-filter-place");    var observer = new MutationObserver(function(mutations){        mutations.forEach(function(mutation){            var nodes = Array.from(mutation.removedNodes);            var directMatch = nodes.indexOf(target) > -1;            var parentMatch = nodes.some(parent => parent.contains(target));            if(directMatch || parentMatch){                observer.disconnect();                moveFilters();        }    });})var config = {    subtree: true,    childList: true};    observer.observe(document.body, config);}我從來沒有調用 function moveFiltersnor observeFilters,所以頁面上沒有 id 為“new-filter-place”的元素,但是當其他元素被擦除時,觀察者被觸發。有人可以向我解釋當我從不調用它時如何觸發該功能嗎?
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

好吧,經過數小時的調試,我找到了它。其他程序員寫下了其他腳本,所以基本上他調用了那個腳本。



查看完整回答
反對 回復 2023-02-24
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號