Мой код jQuery не отвечает на нажатия кнопок - PullRequest
0 голосов
/ 11 апреля 2020

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

Например, я написал фрагмент ниже, и можно будет заметить, что кнопки работают на нем, но когда Я перенес его на мой сервер или на repl.it , первая кнопка никогда не работает.

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

$("#sentiment_training").click(function(){
    /* This is a work in progress yet */
    alert("Using jQuery in a File");
});
<html>
<head>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

<script src="script.js"></script>

<script>
function myFunction() {
  alert("Alert with inline script");
};

$("#sentiment_training3").click(function(){
    /* This is a work in progress yet */
    alert("Using jQuery Inline");
});
</script>
</head>
<body>

<button id="sentiment_training" name="sentiment_training" class="btn btn-primary mb-2">jQuery in a file</button>


<button id="sentiment_training2" name="sentiment_training2" class="btn btn-primary mb-2" onclick="myFunction()">JavaScript Inline!</button>

<button id="sentiment_training3" name="sentiment_training3" class="btn btn-primary mb-2">jQuery Inline</button>
   
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Поместите код в блок $(document).ready(function() {}).
Это гарантирует, что код будет работать только после того, как документ будет "готов".

$(document).ready(function() {
  $("#sentiment_training3").click(function(){
    /* This is a work in progress yet */
    alert("Using jQuery Inline");
  });
})
0 голосов
/ 11 апреля 2020

Причина, по которой это не работает, заключается в том, что документ еще не загружен во время выполнения скрипта. Перемещение ваших сценариев до конца body является решением. Вы также можете создать событие, которое будет запускаться при загрузке документа и впоследствии запускать ваш сценарий.

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