网页下载完成时的回调

时间:2012-02-21 05:40:50

标签: javascript jquery html dom javascript-events

当用户单击网页中的选项卡时,将打开该选项卡,并从服务器下载相应的页面。

我想通过java脚本或jquery在此页面中添加一些UI。我知道如何添加这个,但问题是如果我执行我的java脚本函数在单击选项卡时添加UI,它不起作用,因为相应的页面尚未下载。

基本上,我想知道在页面完全下载时调用的这种功能。

3 个答案:

答案 0 :(得分:1)

您是否使用过JQuery成功?只有在您的响应准备好后才会调用成功处理程序。 试试这个:

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    //Do the stuff here, hence downloading has been completed and response from server is ready
    $(this).addUI("done");
  }
});

答案 1 :(得分:0)

在页面正文中添加..

<body onload="init()">

</body>

基本上你打电话给你的init function - 只有在加载网页正文后才启动你想要的所有其他功能..

答案 2 :(得分:0)

我也遇到过这个问题。这里的问题是你的内容在你开始工作之前还没有 您提供的任何引用都将导致返回 Null 解决方案可以是.bind()&amp; .live()

假设这是您的动态内容

$('body').append('<div class="clickme">Another element</div>'); 


你可以用,

绑定元素
$('.clickme').bind('click', function() {  
 // Bound handler called.  
});  

或通过

注册实时内容
$('.clickme').live('click', function() {  
// Live handler called.  
}); 

不再需要时,您可以通过 .die()取消订阅动态内容上的活动 你也可以找到 .delegate()&amp; undelegate()非常有用,因为.live()&amp ;; 。死()。
检查http://www.alfajango.com/blog/the-difference-between-jquerys-bind-live-and-delegate/以选择您的申请所需的那个 记住不要忘记你确保内容是由ajax成功加载的,如上所述programmer_1 祝你好运:)
任何进一步的澄清请评论。