Получите необычный звонок от poup ajax - PullRequest
0 голосов
/ 12 июня 2018

У меня есть popupajax на мой взгляд, который открывает fancybox

Вот код этого

 <div class="name"><%= popup_ajax hotel.name, hotel_info_path(hotel) %></div>

И при компиляции это выглядит так

<div class="name"><a class=" fancybox" data-type="ajax" data-src="/hotel_info/72721" data-options="{&quot;touch&quot;:false,&quot;baseClass&quot;:null}" href="javascript:;">Ibis London Thurrock M25</a></div>

Мне нужночтобы поймать событие, когда этот fancybox открылся через JS для публикации карты в div, что внутри содержимого fancybox

Я пытался сделать это, например,

 $(".name").click(function(){
    $("a.fancybox").fancybox({
      beforeShow: function(){
        alert("Here");
      }
    });
  })

Но я не сделалЭто предупреждение.

Как я могу это сделать?

1 Ответ

0 голосов
/ 12 июня 2018

Ваш код работает отлично (с небольшой настройкой), посмотрите эту демонстрацию - https://codepen.io/anon/pen/MXmyZq?editors=1010

Очень важно понять, что делает $(selector).fancybox(), выполнив метод .fancybox(), к которому вы присоединяете событие клика(для выбранных элементов), которая запускает fancybox (см. документы - https://fancyapps.com/fancybox/3/docs/#usage)

По сути - вы создали событие click, которое присоединяет еще один обработчик события click к вашему элементу.Просто удалите ненужное событие клика и все.

Но, если вы действительно хотите запустить fancybox из обработчика кликов, вам нужно использовать метод $.fancybox.open() (см. https://fancyapps.com/fancybox/3/docs/#api для примеров).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...