Как уловить jQuery клик по элементу?

· jQuery и Снипеты · 2 мин чтения

В этом небольшом снипете, я поделюсь с вами тем, как уловить тот момент, когда пользователь кликает по кнопке или какому-либо другому элементу.

HTML 

С помощью HTML нужно создать элемент, который будет использоваться для клика. В данном пример я буду использовать <button>, как показано в примере ниже.

<button id="btn">Нажми на меня</button>

jQuery

Есть множество вариантов того, как уловить клик с помощью jQuery. Многие из них мы рассмотрим ниже.

Первый вариант

Это прописать onclick="" атрибут для вашего элемента и внутрь поставить название вашей функции, то есть получиться, как в примере ниже:

<button id="btn" onclick="alert('Кнопка была нажата')">Нажми на меня</button>

Как это работает? При нажатии на эту кнопку сработает alert и покажет сообщение «Кнопка была нажата».

Такой вариант желательно использовать, если ваш скрипт не большой, а состоит всего и трех-четырех слов или даже менее. Пример выше можно сделать с использованием вызываемой функции, как на примере ниже:

<button id="btn">Нажми на меня</button>
<script>
    function callAlert() { 
        alert('Кнопка была нажата'); 
    }
</script>

Эффект будет тот же самый, что и прописать alert внутри onclick. Но вариант с функцией позволяет расписать логику нажатия в раскрытом и понятном виде. Теперь внутри функции вы сможете добавлять комментарии, если ваша функция будет большая (чтобы потом не забыть что она делает и тд).

Второй вариант

С помощью второго варианта мы биндим нажатие на элемент с помощью встроенной функции .click() в jQuery.

<button id="btn">Нажми на меня</button>
<script> 
    $(function() {
        $(document).ready(function() {
            $('#btn').click(function() {
                alert('Кнопка была нажата');
            });
        });
        
    })
</script>

Из примера выше видно, что когда документ был полностью загружен $(document).ready(function() то .click() функция начинает работать.

Как значение указывается id элемента (#btn) — в нашем случае кнопки, на которую наклывадется проверка нажатия на нее. И когда она будет кликнута, пользователь увидит alert сообщение «Кнопка была нажата».

Во втором варианте так же можно использовать отдельную функцию. Пример того как это сделать показан ниже:

<button id="btn">Нажми на меня</button>
$(function() {
    $(document).ready(function() {
        $('#btn').click(function() {
            callAlert();
        });
    });

    function callAlert() {
        alert('Кнопка была нажата');
    }
})

На этом все. Если у вас остались какие-либо вопросы — задавайте их в комментарии.