Customizer Message Passing(自定义消息传递)下面是一些片段,它们显示了使消息传递握手正常工作所需的操作顺序。在示例代码中,控件将消息发送到change
因此,在总体ready
事件,应该可以。
窗格→ 预览
/* Pane, enqueue w/ customize-controls dependency at customize_controls_enqueue_scripts */
wp.customize.bind( \'ready\', function() {
wp.customize.previewer.bind( \'ready\', function() {
wp.customize.previewer.send( \'greeting\', \'Howdy, Preview!\' );
} );
} );
/* Preview, enqueue /w customize-preview dependency at wp_enqueue_scripts if is_customize_preview() */
wp.customize.bind( \'preview-ready\', function() {
wp.customize.preview.bind( \'greeting\', function( message ) {
console.info( Pane sent message:\', message );
} );
} );
预览→ 窗格
/* Preview, enqueue /w customize-preview dependency at wp_enqueue_scripts if is_customize_preview() */
wp.customize.bind( \'preview-ready\', function() {
wp.customize.preview.bind( \'active\', function() {
wp.customize.preview.send( \'greeting\', \'Howdy, Pane!\' );
} );
} );
/* Pane, enqueue w/ customize-controls dependency at customize_controls_enqueue_scripts */
wp.customize.bind( \'ready\', function() {
wp.customize.previewer.bind( \'greeting\', function( message ) {
console.info( \'Preview sent greeting:\', message );
} );
} );
建议,而不是添加
change
的事件侦听器
select
元素通过jQuery
select
元素应该与您所收听的设置相链接。所以你的
ready
方法应该更像这样:
this.setting.bind( function( newFont ) {
if ( \'default\' !== newFont ) {
addGoogleFont( newFont );
}
} );
但是这个
addGoogleFont
正在通过整个
link
除发送的设置更改外,还将标记到预览。把所有的
addGoogleFont
预览本身的逻辑?例如:
wp.customize( fontSettingId, function( setting ) {
setting.bind( function( newFont ) {
if ( \'default\' !== newFont ) {
addGoogleFont( newFont );
}
} );
} )
因此,您只需在预览中听取对字体设置的更改,然后构建
link
要在预览中更新的标记。