Здесь может быть несколько факторов, большинство из которых не связаны с кодом, который вы связали. Чтобы щелчок не работал:
- Событие клика очищается
- Элемент, на который вы пытаетесь щелкнуть, покрыт другим (вероятно, прозрачным) элементом
- интерактивная область вашего элемента смещена или деформирована
Чтобы при первой возможности возникла проблема, ваш элемент должен был оставаться неприкосновенным до обновления или до повторного создания обработчика щелчков. Убедитесь, что обработчик кликов не создается более одного раза. Вы можете сделать это, установив точку останова или оператор оповещения / консоли в точке вызова $(element).click(function() { ... })
.
Для того, чтобы возникла вторая возможность, другой элемент должен присутствовать поверх вашего активируемого элемента. Это можно проверить с помощью браузера или расширения браузера, которое позволяет щелкнуть правой кнопкой мыши элемент и проверить его. Если проверяемый элемент не является активируемым элементом, вероятно, это проблема.
Чтобы проблема была третьей, вам необходимо проверить положение, размер и форму элемента, на который можно кликнуть, когда он не щелкаем. Используйте ваш браузер или расширение браузера, чтобы выбрать и выделить элемент на странице. Посмотрите, где он показывается, какие измерения он имеет, что он оценивает z-index
, какие свойства отображения он имеет (display: inline
печально известен тем, что вызывает проблемы с кликабельностью), и если он даже «фактически» в текущем видовой экран.
Короче говоря, код, который вы опубликовали, почти ничего не говорит о том, что может происходить, поэтому вам нужно больше отлаживать или предоставлять больше кода.