Wordpress Gutenberg ACF Blocks Как добавить JS, когда блок открыт - PullRequest
0 голосов
/ 03 июня 2019

Я использую блоки ACF и имею следующий блок.

acf_register_block_type(array(
    'name'              => 'columns',
    'title'             => __('Columns'),
    'description'       => __('For complex multi colomn rows.'),
    // 'category'          => 'formatting',
    'render_template'   => get_template_directory() . '/includes/blocks/templates/columns.php',
    'enqueue_style'     => get_template_directory_uri() . '/includes/blocks/css/columns.css',
    'enqueue_script'    => get_template_directory_uri() . '/includes/blocks/js/columns.js',
    'keywords' => array('rows', 'content', 'column'),
    'supports' => array('align' => array('wide', 'full')),
    'mode' => 'auto',
));

Мне нужно запустить JS, когда я нажимаю на блок в редакторе, чтобы открыть его для редактирования. Я не знаю, есть ли стандартный способ сделать это, поэтому я подумал, что могу просто использовать событие click для запуска своей функции, но оно не сработает. Вот изображение блока в DOM.

Блок HTML

Я добавил скрипт, следуя документам здесь . (Внизу есть пример «Добавление скриптов блока»)

Вот мой урезанный JS ...

(function($){
    var initializeBlock = function ($block) {

        $('body').on('click', 'div[data-type="acf/columns"]', function () {
            console.log('teeeeeeeest');
        });

        //... Other JS put here works
    }

    if (window.acf) {
        window.acf.addAction('render_block_preview/type=columns', initializeBlock);
    }

})(jQuery);

Почему эта функция щелчка не срабатывает? Есть ли другой способ сделать это?

...