當元素的當元innerHTML發(fā)生變化時(shí)觸發(fā)函數,可以使用JavaScript的素的生變事件監聽(tīng)器來(lái)實(shí)現,具體步驟如下:
(圖片來(lái)源網(wǎng)ヽ(′ー`)ノ絡(luò ),化時(shí)函數侵刪)1、當元獲取需要監聽(tīng)的(de)素的生變元素
2、為元素添加DOヽ(′ー`)ノMContentLoaded??事件監聽(tīng)器
3、化時(shí)函數在事件處(?????)理函數中,當元使用MutationObs??erver來(lái)監聽(tīng)元素的素的生變變化??
4、當元素發(fā)生變化時(shí),化時(shí)函數執行相應的當元操作
下面是詳細的代碼實(shí)現:
<!DOCTYPE html><htm??l lang="en"><head> <meta char??set="UTF8"> <meta name="viewport" content="width=d??evicewidth, initialscale=1.0"> <title>當元素的innerHTML發(fā)生變化時(shí)觸發(fā)函數</title></head><body> <div id="target">這是一個(gè)需要監聽(tīng)的元素</ヽ(′ー`)ノdiv> <button onclick="changeInnerHTML()">改變innerHTML</but(╯‵□′)╯ton> <script> // 獲取需要監聽(tīng)的元素 con(′▽?zhuān)?)st targetElement(′ω`) = document.getElementById('target'??); // 為元素添加DOMContentLoaded事件監聽(tīng)??器 document.addEventListener('DOMContentLoaded', () => { // 使用MutationObserver來(lái)監??聽(tīng)元素的變化 const observer = new MutationObserver((mutationsList) => { for (const mutati??on of mutationsList) { if (mutation.type === 'childList') { console.log('子節點(diǎn)發(fā)生了變化'); } else if (mutation.type === 'attrib??utes') { conso(?????)le.log('屬性發(fā)生了變化'); } else if (mutat??ion.type === 'characterData') { console.log('文本內容發(fā)生了變化'); } } })??; // 配置觀(guān)察器選項 const config = { childList: true, attributes: true, characterData: true }; // 開(kāi)始觀(guān)察目標元素 observer.observe(targetE(???)lement, config); }); // 改變innerHTML的函數 function chanヽ(′?`)ノgeInner??HTML() { taヽ(′▽?zhuān)?ノrgetElement.innerHTML = 'innerHTML(°o°)已經(jīng)發(fā)生了變化'; } &l(/ω\)t;/script></body></html>在這個(gè)示例??中,我們創(chuàng )建了一個(gè)div元素和一個(gè)按鈕,素的生變當點(diǎn)擊按鈕時(shí),化時(shí)??函數會(huì )調用changeInnerHTML函數,當元改變div元素的素的生┐(′ー`)┌變innerHTML,我們使用MutationObserver來(lái)監聽(tīng)div元素的化時(shí)函數變化(hua),當innerHTML發(fā)生變化時(shí),會(huì )在控制臺輸出相應的信息。
客服電話(huà)17790068725
Copyright ? 2012-2018 天津九安特機電工程有限公司 版權所有 備案號:
客服電話(huà)17792598618