@zahar_92

Как запретить переход по ссылке в OwlCarousel?

Всем привет!
Использую OwlCarousel в качестве слайдера. На каждом слайде есть ссылка вида href="#". Клик по ссылке открывает модальное окно.
Если вручную не перелистывать слайды, то клик по ссылке не прокручивает страницу вверх и окно открывается, все ок. Но если быстро перелистнуть слайд несколько раз, а потом нажать на ссылку, то модальное окно не открывается и страница прокручивается вверх.
Интересно, что это происходит, если карусель сделать бесконечную, т.е. она листается по кругу. Если бесконечную прокрутку выключить, то такой проблемы нет.
В JS не силен, с помощью гугла нашел, что отменить стандартное действие браузера можно с помощью e.preventDefault(), сделал такую функцию:
$('a[class*="_toggler"]').click(function (e) { 
e.preventDefault(); 
})

Но работает она только на первом слайде, после прокрутки все равно не срабатывает.
В справке к OwlCarousel нашел такую конструкцию
$('.owl-carousel').owlCarousel({ 
onDragged: callback 
}); 
function callback(event) { 
... 
}

Эта функция отслеживает перемещение слайда путем перетаскивания и по идее ее можно как-то использовать в решении моей проблемы, но не могу понять как, т.к. не хватает знаний!

Прошу помощи!!
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
densisss
@densisss
Веб-разработчик.
А зачем обязательно делать кнопку ссылкой, если она служит просто триггером, если можно поставить кнопку с такими же стилями и навесить открытие модалки по клику на кнопку.

Если вы используете bootstrap, то открыть модалку программно можно так:
$('#buttonID').click(function(){
$('#modalID').modal('show');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ps1panda
Верстальщик, начинающий front-end
Я бы залез в скрипт карусели и там нашел вывод шаблона и убрал линку
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы