Magnific всплывающее окно с Backbone срабатывает только после второго клика

0

Проблема, с которой я сталкиваюсь, очень похожа на этот jQuery на ссылку href - нужно дважды щелкнуть. Всплывающее изображение полностью работает после первого щелчка,

поскольку, похоже, плагин позаботится о привязке обработчика кликов к вам, а это означает, что ваш первый клик связывает всплывающие функции (включая обработчик onclick), поэтому он работает только после щелчка во второй раз.

Я использую Backbone 1.0.0 с require.js.

Мой код выглядит следующим образом:

Магистральный вид

events:{
'click .test-popup-link':'popImg',
}

popImg: function (e) {
      e.preventDefault();
      $('.test-popup-link').magnificPopup({
        delegate: 'a',
        type: 'image',
        //closeBtnInside: false,
        closeOnContentClick: true,
        overflowY: 'auto',
        mainClass: 'mfp-img-mobile',
        image: {
          verticalFit: true
        }
      });

    },

HTML-код

   <div class='test-popup-link'><a class='image-popup-vertical-fit'        href="http://mydomain.com/files/8e0183d4179a11e2880f22000a1e8aaf_7%20(15).jpg"><img id='6576465avt7a6768'       src="http://mydomain.com/files/8e0183d4179a11e2880f22000a1e8aaf_7%20(15).jpg"></a></div>;

Любая помощь очень ценится. Благодарю.

Теги:
backbone.js
magnific-popup

1 ответ

0

Вы можете сделать это в своем представлении, чтобы initialize функцию следующим образом:

SearchView = Backbone.View.extend({
    el: $(".open-popup-link"),
    initialize: function () {
        $(this.el).magnificPopup({
            type: 'inline',
            midClick: true
        });
    }
});
var search_view = new SearchView();

См. Демонстрацию: http://jsfiddle.net/Cardiff/UWXNd/

  • 0
    Большое спасибо, он вроде работает - теперь он открывается с первой попытки - но всплывающее окно утратило свой стиль, оно открывает изображение как новый URL, а не всплывающее окно с наложением поверх того же представления. Вы знаете, что может быть не так? Спасибо
  • 0
    Я не использовал ваши настройки, вы должны использовать их в своем коде. Я полагаю, что это может быть проблемой, например, type: 'inline' и т. Д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню