【问题标题】:DOMContentLoaded inside $(document).ready?DOMContentLoaded 在 $(document).ready 中?
【发布时间】:2013-03-07 23:51:42
【问题描述】:

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

在一个例子中有这样的代码:

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); 是否安全,只在$(document).ready 中留下setTimeout(loaded, 200);

【问题讨论】:

    标签: javascript jquery dom domready


    【解决方案1】:

    是的,当 DOMContentLoaded 事件可用时,jQuery 会使用它,如果你的代码位于 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 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2011-04-11
      相关资源
      最近更新 更多