禁用Javascript中的dom更改事件?

问题描述 投票:0回答:1

我用

document.addEventListener("DOMSubtreeModified", function()
    {}

每当文档的 DOM 更改时就采取行动。

问题是:在该函数中,我自己修改了 DOM,但我不希望此更改调用 DOMSubtreeModified 事件(导致我的代码一遍又一遍地运行)

有机会阻止这种情况吗?

javascript jquery events dom
1个回答
5
投票

我曾经使用此解决方案做过同样的事情:

function modifyDOM(obj) {
    obj._muteTrigger = true;

    // HERE do your actual dom change

    obj._muteTrigger = false;
}

document.addEventListener("DOMSubtreeModified", function() {
    if(this._muteTrigger) return;
    
    //the other codes

    modifyDOM(this);
});
© www.soinside.com 2019 - 2024. All rights reserved.