如何在页面加载后执行jquery代码?

时间:2010-05-28 01:59:22

标签: jquery

  

如果您希望活动适用于您的活动   页面,你应该在里面调用它   $(document).ready()函数。   里面的一切都会尽快加载   因为DOM已加载而之前   页面内容已加载。

我想只在 页面内容加载后才能执行javascript代码我该怎么办?

8 个答案:

答案 0 :(得分:120)

使用load代替ready

$(document).load(function () {
 // code here
});

<强>更新 自jQuery 1.8起,您需要使用.on()。 (http://api.jquery.com/on/

$(window).on('load', function() {
 // code here
});

来自this answer

  

根据http://blog.jquery.com/2016/06/09/jquery-3-0-final-released/

     
    

删除了已弃用的事件别名

         自jQuery 1.8以来不推荐使用的

.load.unload.error为no     更多。使用.on()注册听众。

         

https://github.com/jquery/jquery/issues/2286

  

答案 1 :(得分:23)

关注

$(document).ready(function() { 
});

可以替换

$(window).bind("load", function() { 
     // insert your code here 
});

我还有一种方法可以增加页面加载时间。

$(document).ready(function() { 
  $(window).load(function() { 
     //insert all your ajax callback code here. 
     //Which will run only after page is fully loaded in background.
  });
});

答案 2 :(得分:10)

编辑:此代码将一直等到所有内容(图像和脚本)完全加载并在浏览器中呈现。

由于我使用的 Javascript 用于格式化目的和隐藏元素,因此$(window).on('load',function(){ ... })对我的代码启动速度太快,我遇到了这个问题。隐藏得太快的元素和高度为0的元素。

我现在使用$(window).on('pageshow',function(){ //code here });,它会在我需要的时候触发。

答案 3 :(得分:7)

我正在寻找同样的问题,这里有什么帮助我。 这是jQuery版本3.1.0,并且自jQuery版本1.8 以来不推荐使用加载事件。 load事件从jQuery 3.0中删除。相反,您可以使用on方法并绑定JavaScript load事件:

$(window).on('load', function () {
  alert("Window Loaded");
});

答案 4 :(得分:6)

如果您想在第一个功能完成后运行第二个功能,请参阅this stackoverflow answer

答案 5 :(得分:5)

编写要在其中执行的代码。文档准备好后,将执行此操作。

$(document).ready(function() { 

});

答案 6 :(得分:4)

没人提到这个

$(function() {
    // place your code
});

的简写功能
$(document).ready(function() { .. });

答案 7 :(得分:0)

这样可以避免在'$'中得到未定义

window.addEventListener("load", function(){
    // Your code
});