【发布时间】:2016-10-26 13:17:12
【问题描述】:
使用 JQuery div 中的文本:
<!DOCTYPE html>
<html>
<head>
<title>JQuery 3 Window onload test</title>
</head>
<body>
<div id="my_div" style="visibility:hidden">Greetings!</div>
<script src="jquery.js"></script>
<script>
$(function () {
$(window).on('load', function () {
$('#my_div').css('visibility', 'visible');
});
});
</script>
</body>
</html>
使用新的 JQuery 3.0.0,不会显示 div。但是,如果我完全删除窗口加载条件,如下所示:
$(function () {
$('#my_div').css('visibility', 'visible');
});
...然后它可以工作,或者如果我将窗口加载到文档之外,如下所示:
$(function () {
// other things I need to do once the document is ready
});
$(window).on('load', function () {
$('#my_div').css('visibility', 'visible');
});
...那么它也可以工作。在 JQuery 迁移/升级信息页面上,有文档显然正在解决我的示例 here 中发生的事情。
JQuery 专家的澄清将不胜感激,因为我现在需要修改许多文件以适应这种行为,并且希望以正确的方式来处理与过去一样的预期行为。非常感谢!
【问题讨论】:
-
哦,刚刚看到你链接的就是这个。
-
不需要在文档就绪块中
-
同时使用
$(window).on("load")和.ready()的目的是什么? -
@guest271314 我正在使用另一位开发人员的代码,他将每个 onload 窗口侦听器都放在一个文档就绪侦听器中。因为一直工作到现在,我并没有真正质疑过,但正如其他人指出的那样,它并没有真正的意义。
标签: javascript jquery html jquery-3