var x = $("<div ></div>");
$('body').append(x);
x.load('page.html'
, function() {
$(document).ready(
function (){
//useful stuff here;
}
);
});
我希望在page.html完全加载后执行就绪回调函数,并且已经在我的“div”中执行了所有脚本。
这个例子有效。
我的问题是:这是我正在做的事情的正确方法吗?还有其他方法吗?
在这种情况下,准备事件背后的逻辑是什么?它应该应用于“文件”,“这个”还是“x”?
答案 0 :(得分:2)
你加载的事件应该被DOM
准备好...
$(document).ready(function () {
var x = $("<div ></div>");
$('body').append(x);
x.load('page.html', function () {
//useful stuff here;
});
});
不需要将回调包含在DOM ready
处理程序..
在这种情况下适用,因为您似乎没有在页面上选择任何已存在的元素。所以它将在没有DOM ready
处理程序
答案 1 :(得分:1)
的 dummy.html 强> 的
<SCRIPT>
$(document).ready(
function(){
var x = $("<div >hola</div>");
$('body').append(x);
x.load('dummy2.html', function() {
console.log('dummy callback');
$(document).ready(
function (){
console.log('dummy has loaded after dummy2 has loaded');
//useful stuff here;
}
);
});
}
);
</SCRIPT>
的 dummy2.html 强> 的
<SCRIPT>
$(document).ready(
function(){
console.log('dummy 2a has load');
}
);
$(document).ready(
function(){
console.log('dummy 2b has load');
}
);
</SCRIPT>
此示例显示了如何处理序列,首先打印虚拟回调',第二个:虚拟2a和虚拟2b,最后一个打印是'dumy已经加载了虚拟已加载',我知道为什么工作正常,但是序列工作正常。
的更新强> 的
如果删除行$(document).ready,则序列为
首先:虚拟回调 第二个:假装已经加载了...... / 错了! /