diff --git a/ui/widgets/menu.js b/ui/widgets/menu.js index 302d202ae1e..21c7495aa10 100644 --- a/ui/widgets/menu.js +++ b/ui/widgets/menu.js @@ -668,9 +668,9 @@ return $.widget( "ui.menu", { select: function( event ) { - // TODO: It should never be possible to not have an active item at this - // point, but the tests don't trigger mouseenter before click. - this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); + // Tests don't trigger mouseenter before click, so use event target if possible. + this.active = $( event.target ).is( ".ui-menu-item" ) ? $( event.target ) : + this.active || $( event.target ).closest( ".ui-menu-item" ); var ui = { item: this.active }; if ( !this.active.has( ".ui-menu" ).length ) { this.collapseAll( event, true );