Jquery обнаружение нажатия кнопки - PullRequest
0 голосов
/ 26 февраля 2020

В моем файле html есть класс div с именем 'btn'. В моем файле Javascript я использую jquery, чтобы обнаружить клики на этом баттоне. Когда функция jquery для обнаружения щелчков записана в глобальной области видимости, функция не работает, но когда я помещаю ее в другую функцию и вызываю ее с помощью консоли инструментов разработчика, она работает. Может кто-нибудь помочь мне с этим, пожалуйста?

Код для справки -

$(".btn").click(function() {
   console.log('Clicked');
}

Этот код ниже работает -

function clickDetection(){
   $(".btn").click(function() {
   console.log('Clicked');
   }
}

1 Ответ

2 голосов
/ 26 февраля 2020

Добавьте функцию в document.ready функцию jquery. Это добавляет список событий к кнопке после загрузки страницы. Пример:

$(document).ready(() => {
  $('.test-button').on('click', () => {
    console.log('Clicked');
  });
});
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title>click button demo</title>
</head>

<body>
    <button class="test-button">Click me</button>
</body>

</html>

Цитировать jQuery документы:

Обработчики событий привязаны только к выбранным в данный момент элементам; они должны существовать в тот момент, когда ваш код вызывает .on (). Чтобы убедиться, что элементы присутствуют и их можно выбрать, поместите сценарии после элементов в разметке HTML или выполните привязку событий в обработчике готовности документа. В качестве альтернативы используйте делегированные обработчики событий для присоединения обработчиков событий.

Подробнее см .: https://api.jquery.com/on/

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