⚙️

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.isOpen() #

Проверяет, открыт ли хотя бы один попап. Возвращает true или false.

$.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() Сокращение для изображений