如果您希望活动适用于您的活动 页面,你应该在里面调用它 $(document).ready()函数。 里面的一切都会尽快加载 因为DOM已加载而之前 页面内容已加载。
我想只在 页面内容加载后才能执行javascript代码我该怎么办?
答案 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()
注册听众。
答案 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
});