@@ -344,6 +344,14 @@ $.widget( "mobile.selectmenu", $.mobile.selectmenu, {
344
344
this . button . click ( ) ;
345
345
} ,
346
346
347
+ _focusMenuItem : function ( ) {
348
+ var selector = this . list . find ( "a." + $ . mobile . activeBtnClass ) ;
349
+ if ( selector . length === 0 ) {
350
+ selector = this . list . find ( "li:not(" + unfocusableItemSelector + ") a.ui-btn" ) ;
351
+ }
352
+ selector . first ( ) . focus ( ) ;
353
+ } ,
354
+
347
355
_decideFormat : function ( ) {
348
356
var self = this ,
349
357
$window = $ . mobile . window ,
@@ -353,14 +361,6 @@ $.widget( "mobile.selectmenu", $.mobile.selectmenu, {
353
361
btnOffset = self . button . offset ( ) . top ,
354
362
screenHeight = $window . height ( ) ;
355
363
356
- function focusMenuItem ( ) {
357
- var selector = self . list . find ( "a." + $ . mobile . activeBtnClass ) ;
358
- if ( selector . length === 0 ) {
359
- selector = self . list . find ( "li:not(" + unfocusableItemSelector + ") a.ui-btn" ) ;
360
- }
361
- selector . first ( ) . focus ( ) ;
362
- }
363
-
364
364
if ( menuHeight > screenHeight - 80 || ! $ . support . scrollTop ) {
365
365
366
366
self . menuPage . appendTo ( $ . mobile . pageContainer ) . page ( ) ;
@@ -379,21 +379,18 @@ $.widget( "mobile.selectmenu", $.mobile.selectmenu, {
379
379
} ) ;
380
380
}
381
381
382
- self . menuPage
383
- . one ( "pageshow" , function ( ) {
384
- focusMenuItem ( ) ;
385
- } )
386
- . one ( "pagehide" , function ( ) {
387
- self . close ( ) ;
388
- } ) ;
382
+ self . menuPage . one ( {
383
+ pageshow : $ . proxy ( this , "_focusMenuItem" ) ,
384
+ pagehide : $ . proxy ( this , "close" )
385
+ } ) ;
389
386
390
387
self . menuType = "page" ;
391
388
self . menuPageContent . append ( self . list ) ;
392
389
self . menuPage . find ( "div .ui-title" ) . text ( self . label . text ( ) ) ;
393
390
} else {
394
391
self . menuType = "overlay" ;
395
392
396
- self . listbox . one ( " popupafteropen" , focusMenuItem ) ;
393
+ self . listbox . one ( { popupafteropen : $ . proxy ( this , "_focusMenuItem" ) } ) ;
397
394
}
398
395
} ,
399
396
0 commit comments