ready () работает, на ('ready') не работает, почему? - PullRequest
0 голосов
/ 06 декабря 2018

Я пытался использовать «в» в моем коде, но не удалось.Код, который я пробовал, был таким:

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script type="text/javascript">
    function clickHandler(e) {
      alert('Click!');
    }
    $(document).on('ready', function() {
      $('#click_me').on('click', clickHandler);
    })
  </script>
</head>

<body>
  <input id="click_me" type="button" value="click me" />
</body>

</html>

Хотя я могу заменить этот код на код ниже.Я до сих пор удивляюсь, почему мой первый код с событием on не работал.

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script type="text/javascript">
    function clickHandler(e) {
      alert('Click!');
    }
    $(document).ready(function() {
      $('#click_me').click(clickHandler);
    })
  </script>
</head>

<body>
  <input id="click_me" type="button" value="click me" />
</body>

</html>

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Это происходит потому, что ready не является событием ( нет ни в jQuery, ни в html ).Это функция, созданная jQuery для определения состояния документа.Так что не путайте эти две вещи.

Есть только два способа использовать состояние готовности.По функции ready или по сокращению, что в основном то же самое:

$(document).ready(function() {
    // ...
});


$(function() {
    // ...
});
0 голосов
/ 06 декабря 2018

Первый код, указанный ниже, не является допустимым jquery.

$(document).on('ready', function() {

вместо этого, пожалуйста, используйте этот.

$(function(){

});
//Or
$(document).ready(function() {

});
0 голосов
/ 06 декабря 2018

Из документации для on(), выделенная шахта:

Существует также $(document).on("ready", handler), устарело с jQuery 1.8 и , удалено вjQuery 3.0 .Обратите внимание, что если DOM станет готовым до того, как будет прикреплено это событие, обработчик не будет выполнен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...