API — программное управление
XPopup предоставляет богатый API для программного управления попапами.
Все методы доступны через объект $.xpopup.
Основные методы
$.xpopup.open(options, triggerEl) #
Открывает новое окно или активирует существующее по ID.
Параметры:
options— объект настроек попапа (или{ id: '...' }для активации существующего)triggerEl— элемент-триггер (опционально, для извлечения data-атрибутов)
$.xpopup.close(options) #
Закрывает окна или боксы. Без параметров закрывает все открытые боксы.
Параметры:
'win'или{ objType: 'win' }— закрыть текущее окно'box'или{ objType: 'box' }— закрыть текущий бокс{ objType: 'win', objCount: 2 }— закрыть 2 окна- Без параметров — закрыть всё
$.xpopup.back(options, triggerEl) #
Возвращает к родительскому окну. Используется кнопкой «Назад» в шапке.
$.xpopup.setGlobalSettings(settings) #
Устанавливает глобальные настройки для всех попапов или для определённого типа контента.
Параметры:
'common'— общие настройки для всех попапов'content_type.ajax'— настройки для AJAX-попапов'content_type.image'— настройки для изображений
$.xpopup.emit(eventName, data) #
Генерирует кастомное событие XPopup. Плагины могут подписываться на эти события и реагировать на них.
jQuery плагин: $.fn.xpopup(options) #
Активирует элементы как триггеры попапов. При клике открывается окно с настройками из data-атрибутов и переданных опций.
Полный пример: программное управление #
Демонстрация последовательного использования API: проверка статуса, открытие, программное закрытие, подписка на события.
Сводка API
| Метод | Описание |
|---|---|
$.xpopup.open(options, triggerEl) |
Открыть попап |
$.xpopup.close(options) |
Закрыть окно/бокс/всё |
$.xpopup.closeWindow() |
Закрыть текущее окно (алиас) |
$.xpopup.closeBox() |
Закрыть текущий бокс (алиас) |
$.xpopup.back(options, triggerEl) |
Вернуться к родительскому окну |
$.xpopup.isOpen() |
Проверить, открыт ли попап |
$.xpopup.setGlobalSettings(settings) |
Установить глобальные настройки |
$.xpopup.emit(eventName, data) |
Сгенерировать событие |
$.xpopup.addEventCommands(eventName, commands) |
Добавить команды на событие |
$.xpopup.setBoxStatus(newStatus) |
Установить статус бокса |
$.xpopup.getStorage() |
Получить хранилище |
$.xpopup.getBoxCtrl() |
Получить контроллер бокса |
$.xpopup.getWindowCtrl() |
Получить контроллер окна |
$.xpopup.getUtils() |
Получить утилиты |
$.xpopup.registerPlugin(name, plugin) |
Зарегистрировать плагин |
$.xpopup.pluginGet(name) |
Получить плагин по имени |
$('.selector').xpopup(options) |
jQuery плагин для активации триггеров |
$('.selector').xbox() |
Сокращение для изображений |