Concrete5-8.2.1: magnificPopup работает только при втором нажатии

Я пытаюсь сделать условное magnificPopup для клика по ссылке. Проблема в том, что условие требуется после нажатия на ссылку. Но для открытия magnificPopup требуется событие щелчка, которое уже произошло непосредственно перед этим. Таким образом, magnificPopup открывается только при втором щелчке, а не при первом. Кто-нибудь знает, как открыть его по первому щелчку с условием? Вот код:

$('.form-a').on('click', function() {
        if (popup == true) {
            $('.form-a').magnificPopup({
                type: 'inline',
                ...

Я также попробовал это:

        $.magnificPopup.open({
            src: $('#form').wrap('<div/>').parent().html(),
            type: 'inline',

но выдает исключение: "TypeError: c является неопределенным jquery-magnific-popup.js:1:5230". Это одна строка в отладчике, и невозможно понять, каким должно быть это "c".

Спасибо.

[Решено]

$.magnificPopup.open({
    items: {
        src: '#form',
        type: 'inline',
    },
    focus: '#name',

Однако по какой-то причине инициализация всплывающего окна осуществляется непосредственно $('. Form-a'). MagnificPopup({работает несколько иначе, чем $.magnificPopup.open({.

Опция focus: '#name' - работает с прежней инициализацией. Но он теряет фокус на элементе с последним.

Любые иды почему? Как заставить это держать фокус?

0 ответов

Другие вопросы по тегам