如何将$(document).ready()函数及jQuery代码转换为window.onload函数?
没问题,这就帮你搞定转换,顺便给你讲清楚关键点~
把$(document).ready转换为window.onload的方法
基础转换规则
首先,先明确最核心的转换逻辑:
原来的jQuery写法:
$(document).ready(function() { // 你的业务代码 });
转换成原生JS的window.onload写法:
window.onload = function() { // 你的业务代码 };
针对你提供的代码的转换结果
先修正你原代码里的小语法问题(最后少了一个闭合的})),然后转换后的完整代码如下:
window.onload = function() { setInterval(function() { $.post("../user/getdashboard/", function(data) { $("#users_available").html(data); }); }, 3000); };
关键注意点
- 触发时机差异:
$(document).ready是DOM结构加载完成就执行(不用等图片、样式表这些资源加载),而window.onload要等页面所有资源(图片、字体、外部样式/脚本)都加载完毕才会执行,所以你的定时任务会比原来稍晚一点开始运行,如果对这个时间差有要求的话要留意。 - jQuery依赖:转换后内部的
$.post和$("#users_available")还是用的jQuery语法,所以要确保你的页面已经正确引入了jQuery库,而且引入时机要在这段代码之前(比如放在<head>里,或者在这段代码之前的<body>底部),否则会报错。
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

