У меня проблемы с реализацией этого решения для моей ссылки iframe: Fancybox3 с iFrame - предотвращение закрытия при наложении клика
Вот мой пример:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My page</title> <!-- CSS --> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.css"> </head> <body> <a data-fancybox data-type="iframe" href="https://fancyapps.com/" target="_blank" rel="noopener">Test Box</a> <!-- JS --> <script src="//code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.js"></script> <script type='text/javascript'> $.fancybox({ clickSlide: false }); </script> </body> </html>
Все библиотеки являются текущими, но я не могу заставить JavaScript работать для ClickSlide.Большое спасибо за любую помощь.
У вас есть синтаксическая ошибка, проверьте документацию и используйте ее следующим образом -
$('[data-fancybox]').fancybox({ clickSlide: false });
https://codepen.io/anon/pen/LaYNbr?editors=1010
ИЛИ
$.fancybox.defaults.clickSlide = false;
https://codepen.io/anon/pen/KEKzaM?editors=1010
И поместите свой код JS перед HTML или оберните внутри $( document ).ready()
$( document ).ready()
Мое лучшее предположение, что вы не ожидаете загрузки DOM.Я бы сказал, просто поместите вашу инициализацию fancybox внутри document.ready
document.ready
$(document).ready(function() { $.fancybox({ clickSlide: false }); })