Я использую блоки 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);
Почему эта функция щелчка не срабатывает? Есть ли другой способ сделать это?