diff --git a/src/wp-admin/css/customize-nav-menus.css b/src/wp-admin/css/customize-nav-menus.css index 6fe558d28f..a95c8fcb92 100644 --- a/src/wp-admin/css/customize-nav-menus.css +++ b/src/wp-admin/css/customize-nav-menus.css @@ -719,6 +719,10 @@ body.adding-menu-items #customize-preview { opacity: 0.4; } +body.adding-menu-items #customize-preview iframe { + pointer-events: none; +} + .menu-item-handle .spinner { display: none; float: left; diff --git a/src/wp-admin/js/customize-nav-menus.js b/src/wp-admin/js/customize-nav-menus.js index b7556f6702..df696bd963 100644 --- a/src/wp-admin/js/customize-nav-menus.js +++ b/src/wp-admin/js/customize-nav-menus.js @@ -665,12 +665,20 @@ // Opens the panel. open: function( menuControl ) { + var panel = this, close; + this.currentMenuControl = menuControl; this.itemSectionHeight(); $( 'body' ).addClass( 'adding-menu-items' ); + close = function() { + panel.close(); + $( this ).off( 'click', close ); + }; + $( '#customize-preview' ).on( 'click', close ); + // Collapse all controls. _( this.currentMenuControl.getMenuItemControls() ).each( function( control ) { control.collapseForm(); @@ -1319,6 +1327,7 @@ this.container.find( '.menu-item-handle' ).on( 'click', function( e ) { e.preventDefault(); e.stopPropagation(); + api.Menus.availableMenuItemsPanel.close(); var menuControl = control.getMenuControl(); if ( menuControl.isReordering || menuControl.isSorting ) { return;