我正在使用visual studio学习jQuery并在Chrome浏览器中测试我的代码.这是我的HTML代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="jquery-3.1.0.js"></script>
<script type="text/javascript">
$(window).load(function () {
alert("Window Loaded");
});
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案资源管理器
为什么我的浏览器不警告"窗口加载"?
Bho*_*yar 126
您正在使用jQuery版本3.1.0,并且自jQuery版本1.8以来不推荐使用load事件.load事件从jQuery 3.0中删除.相反,您可以使用on方法并绑定JavaScript load事件:
$(window).on('load', function () {
alert("Window Loaded");
});
Run Code Online (Sandbox Code Playgroud)
简而言之,第一个答案是正确的:
$(window).on('load', function () {
alert("Window Loaded.");
});
Run Code Online (Sandbox Code Playgroud)
我必须单独写一个完整的答案,因为很难在第二个答案中添加这么长的评论。
我很抱歉这么说,但上面的第二个答案不起作用。
以下三个场景将说明我的观点:
场景1:在以下方式被弃用之前,
$(window).load(function () {
alert("Window Loaded.");
});
Run Code Online (Sandbox Code Playgroud)
如果我们执行以下两个查询:
<script>
$(window).load(function () {
alert("Window Loaded.");
});
$(document).ready(function() {
alert("Dom Loaded.");
});
</script>,
Run Code Online (Sandbox Code Playgroud)
第二个查询中的警报 (Dom Loaded.) 将首先显示,第一个查询中的警报 (Window Loaded.) 将稍后显示,这应该是这样。
场景 2:但是如果我们像上面的第二个答案一样执行以下两个查询:
<script>
$(window).ready(function () {
alert("Window Loaded.");
});
$(document).ready(function() {
alert("Dom Loaded.");
});
</script>,
Run Code Online (Sandbox Code Playgroud)
第一个查询中的警报 (Window Loaded.) 将首先显示,第二个查询中的警报 (Dom Loaded.) 将稍后显示,这是不对的。
场景 3:另一方面,如果我们执行以下两个查询,我们将得到正确的结果:
<script>
$(window).on("load", function () {
alert("Window Loaded.");
});
$(document).ready(function() {
alert("Dom Loaded.");
});
</script>,
Run Code Online (Sandbox Code Playgroud)
也就是说,第二个查询中的警报(Dom Loaded.)将首先显示,第一个查询中的警报(Window Loaded.)将稍后显示,这是正确的结果。
这就是为什么第一个答案是正确的:
$(window).on('load', function () {
alert("Window Loaded.");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82904 次 |
| 最近记录: |