Як закрити попап в Elementor при кліку на посилання

У Elementor за замовчуванням модальне вікно (попап) можна закривати за допомогою хрестика або кнопки з дією “Закрити попап”.…


Практичний посібник

У Elementor за замовчуванням модальне вікно (попап) можна закривати за допомогою хрестика або кнопки з дією “Закрити попап”. Проте якщо в модальному вікні Elementor розмістити посилання на блок тієї ж сторінки, наприклад #contact, то при кліку відбувається прокрутка до блоку, але вікно не закривається.

У цій статті ви дізнаєтеся, як вирішити цю проблему та закрити попап в Elementor при натисканні на посилання. Ми розглянемо 3 прості та ефективні варіанти реалізації за допомогою HTML і JavaScript.


🔧 Проблема: прокрутка працює, але попап не закривається

Наприклад, у вас є посилання такого типу:

<a href="#contact">Зв’язатися з нами</a>

Це посилання знаходиться всередині попапа, і при натисканні воно прокручує до блоку #contact, але не закриває модальне вікно. Це може створити незручності для користувача, особливо на мобільних пристроях.

Щоб це виправити, необхідно додати елемент HTML у сам попап і вставити відповідний скрипт.


🛠️ Варіант 1: Закриття попапа при кліку на будь-яке посилання

Цей метод дозволяє закривати попап, якщо користувач натискає на будь-яке посилання всередині модального вікна.

image
image

Що потрібно зробити:

  1. Відкрийте налаштування попапа у редакторі Elementor.
  2. Додайте елемент HTML-код.
  3. Вставте наступний скрипт:
<script>
jQuery(function($){
$(document).on('click','.elementor-location-popup a', function(event){
elementorProFrontend.modules.popup.closePopup({}, event);
});
});
</script>
image
image

Після цього попап буде автоматично закриватися при кліку на будь-яке посилання, і при цьому буде виконуватися прокрутка до потрібного блоку.


🎯 Варіант 2: Закриття попапа лише при кліку на посилання з певним класом

Цей метод дозволяє налаштувати закриття попапа лише для обраних посилань, які мають вказаний клас.

Приклад скрипта:

<script>
jQuery(function($){
$(document).on('click','.elementor-location-popup .link-by-id', function(event){
elementorProFrontend.modules.popup.closePopup({}, event);
});
});
</script>

Приклад посилання:

<a href="#contact" class="link-by-id">Зв’язатися з нами</a>

Це зручно, якщо у попапі кілька посилань, і закривати вікно потрібно не за всіма.


🧠 Варіант 3: Закриття попапа, якщо в посиланні є якор

У цьому варіанті ми перевіряємо, чи містить посилання #. Якщо так — закриваємо попап.

Скрипт з умовою:

<script>
jQuery(function($){
$(document).on('click','.elementor-location-popup a', function(event){
if ($(this).attr('href').indexOf('#') !== -1) {
elementorProFrontend.modules.popup.closePopup({}, event);
}
});
});
</script>

Це універсальний підхід, який дозволяє не зачіпати зовнішні посилання або переходи на інші сторінки.


📋 Порівняння методів

МетодУмова спрацюванняПеревага
Варіант 1 — всі посиланняБудь-яке посиланняМінімум коду
Варіант 2 — по класуЛише елементи з певним класомБільший контроль
Варіант 3 — при наявності #Тільки якірні посиланняАвтоматичне визначення умов

✅ Висновок

Щоб закрити модальне вікно в Elementor при кліку на якір, достатньо вставити короткий JavaScript-код у HTML-блок модального вікна. Вибір методу залежить від того, яке саме поведінку вам потрібно реалізувати:

  • Для всіх посилань — варіант 1;
  • Для вибраних посилань — варіант 2;
  • Для якірних посилань — варіант 3.

Головне — вставити скрипт всередину попапа, а не на сторінку, інакше він не спрацює.


💡 Поради

  • Перевірте, що ви використовуєте Elementor Pro (для підтримки модуля popup).
  • Не використовуйте кілька скриптів одночасно — оберіть один варіант.
  • Впевніться, що HTML-елемент не прихований і завантажується разом із попапом.

Почему стоит выбрать меня

Индивидуальный подход

Каждый проект для меня уникален. Я не использую шаблонные решения, а создаю дизайны, которые отражают вашу индивидуальность

Внимание к деталям

Каждый элемент дизайна продуман до мелочей, чтобы ваш сайт был не только красивым, но и удобным

Соблюдение сроков

Я понимаю, как важно время для вашего бизнеса, поэтому всегда соблюдаю дедлайны

Полный цикл услуг

Технические задачи выполняю лично. По согласованию подключаю партнёров — дизайнеров и SEO-специалиста. Оцениваю объём и сроки до начала работ, остаюсь вашим основным контактным лицом.

Опыт работы с WordPress

Основную техническую работу выполняю лично: разрабатываю и дорабатываю WordPress, Elementor и WooCommerce. При необходимости подключаю партнёров по дизайну и SEO. До начала работы согласую объём, стоимость и сроки.

Прозрачность и честность

Я работаю открыто и честно. Вы всегда будете в курсе этапов работы и сможете вносить правки на любом этапе

Работаю лично, подключаю партнёров

Меня зовут Александр Ермоленко. Основную техническую работу выполняю самостоятельно. Если проекту нужны дизайн или SEO, подключаю профильных партнёров. Вы общаетесь напрямую со мной — от оценки задачи до передачи результата и поддержки.

Подробнее обо мне →

Обсудить проект

картинка

Отвечу на ваши вопросы

  • Сроки и стоимость выполнения работ;
  • Что влияет на стоимость;
  • Как проходит каждый этап;
  • Возможно ли разбить оплату на части;
  • На каких платформах разрабатываются сайты;
  • Возможны ли доработки после запуска

Выберите удобный способ для связи: