1

当我使用“DOMSubtreeModified”时,我会触发多个,有时是 30 多个事件。是否可以确保仅在最后一次 DOMSubtreeModified 被触发时才调用我的函数?

4

1 回答 1

5

Kevin B 提到的油门的实现:

function throttle( fn, time ) {
    var t = 0;
    return function() {
        var args = arguments,
            ctx = this;

            clearTimeout(t);

        t = setTimeout( function() {
            fn.apply( ctx, args );
        }, time );
    };
}

document.addEventListener("DOMSubtreeModified", throttle( function() {
    //code
}, 50 ), false );

如果可能的话,让你的代码独立于 DOM 突变事件,因为它们比 eval 更邪恶,并且结合了

于 2012-08-08T15:09:13.367 回答