Skip to content

Commit 0d25a36

Browse files
committed
Menu: Close menus immediately on selection or click outside
Fixes #15034 Closes jquerygh-1807
1 parent b3c0a7f commit 0d25a36

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

tests/unit/menu/events.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,9 @@ QUnit.test( "handle keyboard navigation and mouse click on menu with dividers an
670670
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
671671
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
672672
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
673-
assert.equal( logOutput(), "keydown,3,4,7", "Keydown focus skips divider and group label" );
673+
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
674+
element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
675+
assert.equal( logOutput(), "keydown,1,2,3,4,7", "Keydown focus skips divider and group label" );
674676
ready();
675677
}
676678
} );

ui/widgets/menu.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ return $.widget( "ui.menu", {
162162
this._on( this.document, {
163163
click: function( event ) {
164164
if ( this._closeOnDocumentClick( event ) ) {
165-
this.collapseAll( event );
165+
this.collapseAll( event, true );
166166
}
167167

168168
// Reset the mouseHandled flag
@@ -502,7 +502,7 @@ return $.widget( "ui.menu", {
502502
this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" );
503503

504504
this.activeMenu = currentMenu;
505-
}, this.delay );
505+
}, all ? 0 : this.delay );
506506
},
507507

508508
// With no arguments, closes the currently active menu - if nothing is active

0 commit comments

Comments
 (0)