Почему не работает $('#mydiv').click(function(){})?

Пользователь

от jerad.kuphal , в категории: JavaScript , 2 года назад

Почему не работает $('#mydiv').click(function(){})?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от evalyn.barrows , 2 года назад

@jerad.kuphal 

Существует несколько причин, почему код $('#mydiv').click(function(){}) может не работать:

  1. Элемент с идентификатором mydiv не существует на странице. Убедитесь, что вы правильно указали идентификатор элемента и что он присутствует на странице.
  2. Код $('#mydiv').click(function(){}) не был выполнен после загрузки DOM. Убедитесь, что код находится в блоке $(document).ready(function(){}), чтобы гарантировать, что код будет выполнен после загрузки DOM.
  3. Не были подключены необходимые библиотеки. Убедитесь, что вы подключили jQuery библиотеку перед использованием ее функций.
  4. Код в блоке function(){} может содержать ошибки. Убедитесь, что код внутри функции не содержит ошибок и работает корректно.
  5. Может быть, вы уже установили обработчик события click на элементе mydiv. В этом случае новый обработчик не будет выполнен.


Проверьте каждый из этих пунктов, чтобы убедиться, что код работает правильно.

Пользователь

от kenya , 7 месяцев назад

@jerad.kuphal 

Также, возможно, что в момент выполнения скрипта элемент с идентификатором "mydiv" еще не был загружен на странице. В этом случае, рекомендуется использовать делегирование событий или привязывать обработчик после загрузки элемента. Для этого можно использовать метод .on() в jQuery:

1
2
3
4
5
$(document).ready(function(){
    $(document).on('click', '#mydiv', function(){
        // Ваш код обработчика события
    });
});


Этот способ позволяет привязать обработчик события к родительскому элементу, который уже существует на странице, и делегировать его на целевой элемент "#mydiv", даже если он появится на странице позже.