目前,我尝试熟悉插件。在插件主页上,有几个使用它的示例。

在一个示例中,有以下代码:

function loaded() {
        iScroll = new iScroll('wrapper');
    }

    document.addEventListener('touchmove', function (e) {
        e.preventDefault();
    }, false);

    //Use this for high compatibility (iDevice + Android)
    document.addEventListener('DOMContentLoaded', function () {
        setTimeout(loaded, 200);
    }, false);


因为我也在使用jQuery,所以我想在$(document).ready中使用该代码,我相信这基本上就是jQuery进行DOMContentLoaded的方式。
那么删除document.addEventListener('DOMContentLoaded', function () {}, false);并在setTimeout(loaded, 200);内仅保留$(document).ready是否安全?

最佳答案

是的,jQuery在可用时使用DOMContentLoaded事件,如果您的代码位于ready回调中,则可以省略DOMContentLoaded

从源代码:

// Standards-based browsers support DOMContentLoaded
} else if ( document.addEventListener ) {
    // Use the handy event callback
    document.addEventListener( "DOMContentLoaded", completed, false );

    // A fallback to window.onload, that will always work
    window.addEventListener( "load", completed, false );

10-07 21:23