我使用$("div").load(url)
事件在页面中加载我的部分视图。这样页面的渲染速度会更快。但是,即使在加载内容之前,$(document).ready
也会被解雇。
我也试过了$(window).load
,但是在加载内容之前也会被解雇。
你能否建议一种等待数据加载然后只执行我的javascript函数的方法。
答案 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()在控制台中测试自定义方法