我发现自己做了很多这样的事情:
window.onload = function(){
$.get("http://example.com/example.html", function(data) {
$('#contentHere').html(data);
setTimeout("javaScriptClass.init()", 200);
});
}
但是setTimeout似乎有点hacky(200ms已经超过普通用户注意力的三倍:)。什么是最好的选择?
修改
javaScriptClass.init()根据ajax调用中加载的内容对DOM对象进行操作
答案 0 :(得分:1)
我认为这里有一些关于负载的混淆,你可以这样做:
window.onload = function(){
$.get("http://example.com/example.html", function(data) {
$('#contentHere').html(data);
javaScriptClass.init();
});
}
在$('#contentHere').html(data);
之后,DOM元素就可以使用了。另请查看.load()
附件(如果其他 onload
处理程序可能需要附加),如下所示:
$(window).load(function(){
$.get("http://example.com/example.html", function(data) {
$('#contentHere').html(data);
javaScriptClass.init();
});
});
尽管如此,除非您在等待图片,否则可以在document.ready
处理程序中调用此功能并更快启动,从而获得更好的用户体验。