【问题标题】:second $(document).ready event jQuery第二个 $(document).ready 事件 jQuery
【发布时间】:2010-10-20 01:51:40
【问题描述】:

我正在使用一些带有 $(document).ready() 的外部 jQuery 在文档就绪事件触发后插入广告,例如:

$(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
});

这是为了防止用户界面因广告加载缓慢而被阻塞。到目前为止,它运行良好。

现在我需要通过我们的 CMS 系统插入更多广告,这不能是外部 JS 文件的一部分,所以我想知道我可以使用第二个文档就绪事件并使用内联脚本标签插入它吗?如果是这样,外部JS文档就绪事件先执行还是内联脚本的执行顺序是什么?

【问题讨论】:

    标签: javascript jquery html blocking ads


    【解决方案1】:

    您可以使用任意数量的事件方法,jquery 将它们加入队列中。方法调用顺序与定义顺序相同——最后添加的就是最后调用的。

    【讨论】:

      【解决方案2】:

      是的,添加多个 $(documents).ready()s 不是问题。都将在 ready 事件上执行。

      但是请注意,您的代码示例是错误的。 $(document).ready() 接受一个函数,而不是一个表达式。所以你应该给它一个这样的函数:

       $(document).ready( function() {
        $('#leaderboard').html("<strong>ad code</strong>");     
       });
      

      该函数将在文档准备好时执行。

      【讨论】:

      • 哎呀,是的,只是抓取了一些代码来说明检查我所做的事情是否真的有效:)
      【解决方案3】:

      Here's a little tutorial 多文档就绪

      【讨论】:

        【解决方案4】:

        jQuery 方式的一个额外好处是 你可以有多个 ready() 定义。这是所有的情况 jQuery 事件。

        $(document).ready(function () { 警报(“第一”); });

        $(document).ready(function () { alert("第二号");

        【讨论】:

          【解决方案5】:

          JQuery 按照定义的顺序调用就绪函数。 如果您想先加载一些数据并延迟执行,请使用holdReady()

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-12-11
            • 1970-01-01
            • 1970-01-01
            • 2023-03-30
            • 1970-01-01
            • 2014-04-20
            • 2013-07-19
            • 1970-01-01
            相关资源
            最近更新 更多