Не вешаются обработчики событий на WP Gutenberg

199
07 февраля 2020, 22:40

Делаю лендинг на WP. Каждая секция, кроме хедера и футера, у меня является отдельным блоком Gutenberg.

Блоки регистрирую с помощью плагина Block Lab.

Весь сss и js у меня общий на весь сайт, а не отдельный для каждого блока. js подключается в футере вот так:

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method(){
    wp_enqueue_script('maps', 'https://api-maps.yandex.ru/2.1/?lang=ru_RU', false, null ,true);
    wp_enqueue_script('main', THEME_PATH . 'js/scripts.min.js', false, null ,true);
}

(THEME_PATH - это моя константа в которой хранится урл. Проблема не с путями)

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

Скорее всего - скрипт отрабатывает до того как все эти элементы появляются в DOM.

Из-за чего такой баг и как поправить?

Answer 1

Вам надо прописать зависимость от скриптов блочного редактора

wp_enqueue_script('maps', 'https://api-maps.yandex.ru/2.1/?lang=ru_RU', array( 'underscore' ), null ,true);
wp_enqueue_script('main', THEME_PATH . 'js/scripts.min.js', array( 'underscore' ), null ,true);
READ ALSO
Не работают некоторые компоненты Vue.js

Не работают некоторые компоненты Vue.js

По каким-то причинам не работаетВ консоли огромная ошибка

215
Не приходит данные именно из инпута type=“email”

Не приходит данные именно из инпута type=“email”

Сломал головуНичего не понимаю

179
Передача параметров из JSP в JS

Передача параметров из JSP в JS

Я использую spring-form JSP Tag LibraryХочу передать поля для проверки в JS примерно так, как в примере ниже

199