@filippovanatoliy
Вот начал погружаться в кодинг)

Почему перестает работать событие onclick при смене ориентации экрана?

Здравствуйте! Есть slick slider в котором каруселькой отзывы (стандартная ситуация). Для уменьшения размеров нашел скрипт который схлопывает div (readmore.js с ним вообще бесился дико, нашел какой то супер простой скрипт вообще - но это не суть)

Так вот. При свайпе по слику стоит функция которая делает scrolltop к началу отзыва, и схлопывает дивы с текстом. Она оформлена через стандартный обработчик slickslider
$('.wtwp-testimonials-slidelist-1').on('swipe', function(event, slick, direction) {});


Дальше самый интерес и собственно вопрос. Помимо свайпа надо чтобы эта же функция вызывалась при нажатии на стрелочки ($('.slick-arrows')) и точечки внизу ($('.slick-dots')) - не нашел ничего гениальнее, как навесить туда $(".slick-arrow").click(function(){...});

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

Дебажил, навешивал банальный алерт на $(".slick-arrow").click - все круто, алерт работает. Поворачиваешь экран - перестает.

Почему так может быть? Все скрипты у меня выполняются после загрузки ДОМа, то есть $(document).ready(function()) - может быть в этом беда?

Сайт на котором я это делал: lavkado.ru
  • Вопрос задан
  • 389 просмотров
Решения вопроса 1
@filippovanatoliy Автор вопроса
Вот начал погружаться в кодинг)
А все оказалось вот в чем. slick slider в плагине wp-testimonial-slider вызывался с дополнительными аргументами responsive [...]

Я так понимаю, что при преодолении breakpoint эти элементы страницы удаляются и заново добавляются. jquery их уже не может найти старые, и поэтому скрипт пропускается. Ну в общем логику я до конца не понял до сих пор, но убрав адаптивность - все заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
не используйте click()

используйте on()
Ответ написан
А просто надо было использовать делегирование.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы