@@ -53,24 +53,29 @@ $.widget( "ui.autocomplete", {
5353 } )
5454 . bind ( "keydown.autocomplete" , function ( event ) {
5555 if ( self . options . disabled || self . element . attr ( "readonly" ) ) {
56+ suppressKeyPress = true ;
5657 return ;
5758 }
5859
5960 suppressKeyPress = false ;
6061 var keyCode = $ . ui . keyCode ;
6162 switch ( event . keyCode ) {
6263 case keyCode . PAGE_UP :
64+ suppressKeyPress = true ;
6365 self . _move ( "previousPage" , event ) ;
6466 break ;
6567 case keyCode . PAGE_DOWN :
68+ suppressKeyPress = true ;
6669 self . _move ( "nextPage" , event ) ;
6770 break ;
6871 case keyCode . UP :
72+ suppressKeyPress = true ;
6973 self . _move ( "previous" , event ) ;
7074 // prevent moving cursor to beginning of text field in some browsers
7175 event . preventDefault ( ) ;
7276 break ;
7377 case keyCode . DOWN :
78+ suppressKeyPress = true ;
7479 self . _move ( "next" , event ) ;
7580 // prevent moving cursor to end of text field in some browsers
7681 event . preventDefault ( ) ;
@@ -112,7 +117,28 @@ $.widget( "ui.autocomplete", {
112117 if ( suppressKeyPress ) {
113118 suppressKeyPress = false ;
114119 event . preventDefault ( ) ;
120+ return ;
115121 }
122+
123+ var keyCode = $ . ui . keyCode ;
124+ switch ( event . keyCode ) {
125+ case keyCode . PAGE_UP :
126+ self . _move ( "previousPage" , event ) ;
127+ break ;
128+ case keyCode . PAGE_DOWN :
129+ self . _move ( "nextPage" , event ) ;
130+ break ;
131+ case keyCode . UP :
132+ self . _move ( "previous" , event ) ;
133+ // prevent moving cursor to beginning of text field in some browsers
134+ event . preventDefault ( ) ;
135+ break ;
136+ case keyCode . DOWN :
137+ self . _move ( "next" , event ) ;
138+ // prevent moving cursor to end of text field in some browsers
139+ event . preventDefault ( ) ;
140+ break ;
141+ }
116142 } )
117143 . bind ( "focus.autocomplete" , function ( ) {
118144 if ( self . options . disabled ) {
0 commit comments