@@ -312,27 +312,37 @@ $( document ).on( "mobileinit", function() {
312
312
} ,
313
313
handleKeyUp : function ( e ) {
314
314
var search ,
315
- input = this . element . prev ( "form" ) . find ( "input" ) ;
316
-
317
- if ( e . which === $ . ui . keyCode . DOWN ) {
318
- if ( this . element . find ( "li.ui-button-active" ) . length === 0 ) {
319
- this . element . find ( "li:first" ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
315
+ toBeHighlightled ,
316
+ input = this . element . prev ( "form" ) . find ( "input" ) ,
317
+ isDownKeyUp = e . which === $ . ui . keyCode . DOWN ,
318
+ isUpKeyUp = e . which === $ . ui . keyCode . UP ;
319
+
320
+ if ( isDownKeyUp || isUpKeyUp ) {
321
+ if ( this . element . find ( "li.ui-listview-item-active" ) . length === 0 ) {
322
+ toBeHighlightled = this . element . find ( "li" )
323
+ . not ( ".ui-screen-hidden" )
324
+ [ isDownKeyUp ? "first" : "last" ] ( ) ;
320
325
} else {
321
- this . element . find ( "li.ui-button-active a" ) . toggleClass ( "ui-button-active" ) ;
322
- this . element . find ( "li.ui-button-active" ) . toggleClass ( "ui-button-active" ) . next ( ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
326
+ this . element . find ( "li.ui-listview-item-active a" )
327
+ . toggleClass ( "ui-button-active" ) ;
328
+
329
+ toBeHighlightled = this . element . find ( "li.ui-listview-item-active" )
330
+ . toggleClass ( "ui-listview-item-active" )
331
+ [ isDownKeyUp ? "nextAll" : "prevAll" ] ( "li" )
332
+ . not ( ".ui-screen-hidden" )
333
+ . first ( ) ;
323
334
}
324
335
325
- this . highlightDown ( ) ;
326
- } else if ( e . which === $ . ui . keyCode . UP ) {
327
- if ( this . element . find ( "li.ui-button-active" ) . length !== 0 ) {
328
- this . element . find ( "li.ui-button-active a" ) . toggleClass ( "ui-button-active" ) ;
329
- this . element . find ( "li.ui-button-active" ) . toggleClass ( "ui-button-active" ) . prev ( ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
330
- } else {
331
- this . element . find ( "li:last" ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
332
- }
333
- this . highlightUp ( ) ;
336
+ // Highlight the selected list item
337
+ toBeHighlightled
338
+ . toggleClass ( "ui-listview-item-active" )
339
+ . find ( "a" )
340
+ . toggleClass ( "ui-button-active" ) ;
341
+ } else if ( e . which === $ . ui . keyCode . ENTER ) {
342
+ this . submitHandler ( ) ;
334
343
} else if ( typeof e . which !== "undefined" ) {
335
- this . element . find ( "li.ui-button-active" ) . removeClass ( "ui-button-active" ) ;
344
+ this . element . find ( "li.ui-listview-item-active" )
345
+ . removeClass ( "ui-listview-item-active" ) ;
336
346
337
347
if ( this . options . highlight ) {
338
348
search = input . val ( ) ;
@@ -345,8 +355,8 @@ $( document ).on( "mobileinit", function() {
345
355
}
346
356
} ,
347
357
submitHandler : function ( ) {
348
- if ( this . element . find ( "li.ui-button -active" ) . length !== 0 ) {
349
- var href = this . element . find ( "li.ui-button -active a" ) . attr ( "href" ) ;
358
+ if ( this . element . find ( "li.ui-listview-item -active" ) . length !== 0 ) {
359
+ var href = this . element . find ( "li.ui-listview-item -active a" ) . attr ( "href" ) ;
350
360
351
361
$ ( ":mobile-pagecontainer" ) . pagecontainer ( "change" , href ) ;
352
362
return false ;
@@ -355,22 +365,6 @@ $( document ).on( "mobileinit", function() {
355
365
if ( this . options . submitTo ) {
356
366
this . submitTo ( ) ;
357
367
}
358
- } ,
359
- highlightDown : function ( ) {
360
- if ( this . element . find ( "li.ui-button-active" ) . hasClass ( "ui-screen-hidden" ) ) {
361
- this . element . find ( "li.ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
362
- this . element . find ( "li.ui-button-active" ) . toggleClass ( "ui-button-active" ) . next ( ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
363
- this . highlightDown ( ) ;
364
- }
365
- return ;
366
- } ,
367
- highlightUp : function ( ) {
368
- if ( this . element . find ( "li.ui-button-active" ) . hasClass ( "ui-screen-hidden" ) ) {
369
- this . element . find ( "li.ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
370
- this . element . find ( "li.ui-button-active" ) . toggleClass ( "ui-button-active" ) . prev ( ) . toggleClass ( "ui-button-active" ) . find ( "a" ) . toggleClass ( "ui-button-active" ) ;
371
- this . highlightUp ( ) ;
372
- }
373
- return ;
374
368
}
375
369
} ) ;
376
370
} ) ( jQuery ) ;
0 commit comments