【问题标题】:Document Ready not firing when expected文档就绪未按预期触发
【发布时间】:2016-07-25 14:50:52
【问题描述】:

我有一个网站,所有页面都加载了 ajax。

我将加载第一页并使用

if (window.jQuery) {
    alert('jQuery is loaded');
}

它每次都会提醒 jquery 已加载。

我在页面下面也有

$(document).ready(function() {
    alert('Document Ready');
}

文档就绪警报第一次不会触发,但第二次会起作用。

要准备好文档需要做什么?

我不明白为什么它第一次不起作用。

我使用以下内容来加载页面:

$('#load-page').load(''+base_href+''+page+'', 'show=all'+show_field_id+''+show_default_sort+'');

谢谢

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:
       $( document ).ready(function() {
        console.log( "ready!" );
       });
    

    我认为你没有正确关闭代码。

    【讨论】:

    • 嗨,对不起,我已经关闭了它,我只是在这篇文章中手动输入了它。当它第二次触发时,它也绝对是正确输入的。丹
    【解决方案2】:

    您的方法中似乎忘记了右括号。

    $(document).ready(function() {
        alert('Document Ready');
    }); // <= be sure to close the ready method
    

    【讨论】:

    • 嗨,对不起,我已经关闭了它,我只是在这篇文章中手动输入了它。当它第二次触发时,它也绝对是正确输入的。丹
    【解决方案3】:

    您可能希望使用the third parameter to .load() - complete 回调,而不是期待 document.ready:

    $('#load-page').load(''+base_href+page, 'show=all'+show_field_id+show_default_sort, function() {
      alert('load complete');
    });
    

    当然,这里不能使用 lambda 函数,而是使用函数指针:

    function on_loaded() {
      alert('load complete');
    }
    
    $('#load-page').load(''+base_href+page, 'show=all'+show_field_id+show_default_sort, on_loaded);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      相关资源
      最近更新 更多