将JS事件绑定到WordPress控件定制器

时间:2018-10-21 作者:gdfgdfg

我想将click事件绑定到Wordpress自定义控件(主题定制器)。我试过了(customizer.js):

$(document).on(\'click\', \'.element_class\', function () {
    console.log(5);
});
,但它不绑定。

控件类似于:

<div class="element_class">
   Value
</div>
functions.php:

function customizer_live_preview() {
wp_enqueue_script(
    \'theme-customizer\',
    get_stylesheet_directory_uri() . \'customizer.js\',
    array( \'customize-preview\' ), \'0.1.0\', true);
} 
add_action( \'customize_preview_init\', \'customizer_live_preview\' );

1 个回复
SO网友:Joy Reynolds

您需要将一个单独的脚本排队到具有不同依赖关系的不同操作上。

/**
 * Enqueue styles and scripts for the Customizer pane.
 */
function mytheme_customize_pane_enqueue() {
    wp_enqueue_script( \'mytheme-customizer-control\',
        get_template_directory_uri() . \'/js/customizer-control.js\',
        array( \'customize-controls\' ), \'20180924\', true );
}
add_action( \'customize_controls_enqueue_scripts\', \'mytheme_customize_pane_enqueue\' );
JS如下所示:

( function( wp, $ ) {
    wp.customize.control( \'mytheme_option\', function( control ) {
        control.container.on( \'click\', \'.element_class\', function( event ) {
            event.stopPropagation();
            //control.doNotice( \'\' );
            //control.applyPresetValues( $( this ).data( \'revert\' ) );
        } );
    } );
} )( wp, jQuery );

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register