jQuery事件等到数据加载到页面中

时间:2014-12-11 13:32:15

标签: javascript jquery html performance

我使用$("div").load(url)事件在页面中加载我的部分视图。这样页面的渲染速度会更快。但是,即使在加载内容之前,$(document).ready也会被解雇。 我也试过了$(window).load,但是在加载内容之前也会被解雇。

你能否建议一种等待数据加载然后只执行我的javascript函数的方法。

1 个答案:

答案 0 :(得分:1)

当你使用$(“div”)。load(url)时,你正在异步加载url内容。 这意味着首先初始化document.load,然后进行异步调用以加载(url)。

将所有初始化Javascript放在一个函数中(比如说myinit())并在成功回调加载方法时触发它 例如

// this line keeps all your function in one global name space and you can extend it multiple times in same document or js files
var myapp = myapp||{}; 
$(function(){
    // Here you are extending your myapp object with custom init function
    myapp.init = function(){
        //your init code here
    }

    //your ajax content load here
    $('div').load(url,function(){
        //Here you call it
        myapp.init();
    })
})

P.S。您可以随时在jQuery exec块中的任何位置使用myapp.init()在控制台中测试自定义方法