Подтвердить что ты не робот

Почему $(window).load() не работает в jQuery?

Я изучаю jQuery с помощью visual studio и тестирую свой код в браузере 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>

Это мой исследователь решений

Обозреватель решений

Теперь почему мой браузер не предупреждает "окно загружено"?

4b9b3361

Ответ 1

Вы используете jQuery версии 3.1.0, а событие загрузки устарело для использования с jQuery версии 1.8. Событие загрузки удаляется из jQuery 3.0. Вместо этого вы можете использовать метод on и связать JavaScript событие загрузки:

 $(window).on('load', function () {
      alert("Window Loaded");
 });

Ответ 2

<script type="text/javascript">
   $(window).ready(function () {
      alert("Window Loaded");
   });
</script>

Ответ 3

в jquery-3.1.1

$("#id").load(function(){
//code goes here});

Ответ 4

Я должен написать целый ответ отдельно, так как трудно так долго добавлять комментарий ко второму ответу.

Мне жаль это говорить, но второй ответ выше не работает правильно.

Следующие три сценария покажут мою точку зрения:

Сценарий 1: До того, как следующий путь устарел,

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

если мы выполним следующие два запроса:

<script>
   $(window).load(function () {
     alert("Window Loaded.");
   }); 

   $(document).ready(function() {
     alert("Dom Loaded.");
   });
</script>,

предупреждение (Dom Loaded.) из второго запроса будет отображаться первым, а предупреждение (Window Loaded.) из первого запроса - позже, что и должно быть.

Сценарий 2: Но если мы выполним следующие два запроса, как показано во втором ответе, приведенном выше:

<script>
   $(window).ready(function () {
     alert("Window Loaded.");
   }); 

   $(document).ready(function() {
     alert("Dom Loaded.");
   });
</script>,

предупреждение (Window Loaded.) из первого запроса будет показано первым, а предупреждение (Dom Loaded.) из второго запроса появится позже, что НЕ верно.

Сценарий 3: с другой стороны, если мы выполним следующие два запроса, мы получим правильный результат:

<script>
   $(window).on("load", function () {
     alert("Window Loaded.");
   }); 

   $(document).ready(function() {
     alert("Dom Loaded.");
   });
</script>,

то есть предупреждение (Dom Loaded.) из второго запроса будет показано первым, а предупреждение (Window Loaded.) из первого запроса будет показано позже, что является ПРАВИЛЬНЫМ результатом.

Короче говоря, ПЕРВЫЙ ответ - ПРАВИЛЬНЫЙ:

$(window).on('load', function () {
  alert("Window Loaded.");
});