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.js14
1 files changed, 6 insertions, 8 deletions
diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js
index 5c13a1619..45d379240 100644
--- a/ui/jquery.ui.selectmenu.js
+++ b/ui/jquery.ui.selectmenu.js
@@ -56,7 +56,8 @@ $.widget( "ui.selectmenu", {
},
_drawButton: function() {
- var tabindex = this.element.attr( "tabindex" );
+ var that = this,
+ tabindex = this.element.attr( "tabindex" );
// Associate existing label with the new button
this.label = $( "label[for='" + this.ids.element + "']" ).attr( "for", this.ids.button );
@@ -96,6 +97,10 @@ $.widget( "ui.selectmenu", {
this._setOption( "width", this.options.width );
this._on( this.button, this._buttonEvents );
+ this.button.one( "focusin", function() {
+ // Delay rendering the menu items until the button receives focus
+ that._refreshMenu();
+ });
this._hoverable( this.button );
this._focusable( this.button );
},
@@ -329,13 +334,6 @@ $.widget( "ui.selectmenu", {
},
_buttonEvents: {
- focusin: function() {
- // Delay rendering the menu items until the button receives focus
- if ( !this.menuItems ) {
- this._refreshMenu();
- }
- this._off( this.button, "focusin" );
- },
click: "_toggle",
keydown: function( event ) {
var preventDefault = true;