aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.selectmenu.js
diff options
context:
space:
mode:
Diffstat (limited to 'ui/jquery.ui.selectmenu.js')
-rw-r--r--ui/jquery.ui.selectmenu.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js
index 2b9f41547..bc7eae1bd 100644
--- a/ui/jquery.ui.selectmenu.js
+++ b/ui/jquery.ui.selectmenu.js
@@ -149,10 +149,13 @@ $.widget( "ui.selectmenu", {
// adjust menu styles to dropdown
this.menu.addClass( "ui-corner-bottom" ).removeClass( "ui-corner-all" );
- // Make sure focus stays on selected item
- this.menuInstance.delay = 999999999;
// Unbind uneeded Menu events
this.menuInstance._off( this.menu, "mouseleave" );
+
+ // Cancel the menu's collapseAll on document click
+ this.menuInstance._closeOnDocumentClick = function() {
+ return false;
+ };
},
refresh: function() {
@@ -185,9 +188,13 @@ $.widget( "ui.selectmenu", {
if ( this.options.disabled ) {
return;
}
+
// Support: IE6-IE9 click doesn't trigger focus on the button
if ( !this.menuItems ) {
this.refresh();
+ } else {
+ this.menu.find( ".ui-state-focus" ).removeClass( "ui-state-focus" );
+ this.menu.menu( "focus", null, this._getSelectedItem() );
}
this.isOpen = true;
@@ -198,7 +205,7 @@ $.widget( "ui.selectmenu", {
this._trigger( "open", event );
},
-
+
_position: function() {
this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) );
},