JQUERY中的$(window).load没有触发

时间:2018-05-06 18:28:45

标签: javascript jquery

我有一个复杂的应用程序,其中html和样式由框架呈现。当页面加载时,我需要从许多元素中获取诸如高度,偏移量,scrollTop位置等内容。我知道

$( document ).ready

在将样式应用于元素之前触发因此为什么我使用window.load。问题是我无法解雇它?我已经创建了一个小提琴,用新的和旧的方式来激活窗口加载,但它无法正常工作。在我的应用程序中,我使用jquery 1.11.1,小提琴使用1.9.1。

我如何在我的应用程序中实际调用我的代码:

<html>
<head>
<script type="javascript" source="https://code.jquery.com/jquery-latest.min.js"/>
</head>
<body>
<H1>
  TITLE
</H1>
<script type="text/javascript">
 $(window).load(function() {
   alert("Window Loaded 1 ");
 });

 $(window).on('load', function() {
   alert("Window Loaded 2 ");
 });
</script>
</body>
</html>

https://jsfiddle.net/9jzLkrve/

2 个答案:

答案 0 :(得分:3)

不推荐使用.load()事件侦听器快捷方式

请改用$(window).on('load', function。同时将其保持在$(document).ready()window.onload

之外

小提琴自动将您的代码放入onload回调中,这就是它在您的演示中不起作用的原因。如果您更改&#34;加载类型&#34;在小提琴中没有包装&#34;该演示工作正常

根据添加到问题的新html进行更新。您的脚本标记无效

更改

<script type="javascript" source="https://code.jquery.com/jquery-latest.min.js"/>

<script src="https://code.jquery.com/jquery-latest.min.js"></script>
       <!-- ^ src not source                               ^^ needs closing tag

答案 1 :(得分:2)

这里出了三个问题

Stack snippet

&#13;
&#13;
<script src="https://code.jquery.com/jquery-latest.min.js"></script>

<H1>
  TITLE
</H1>

<script>

 $(window).load(function() {
   alert("Window Loaded 1 ");
 });

 $(window).on('load', function() {
   alert("Window Loaded 2 ");
 });
</script>
&#13;
&#13;
&#13;