@@ -53,24 +53,29 @@ $.widget( "ui.autocomplete", {
5353} )
5454. bind ( "keydown.autocomplete" , function ( event ) {
5555if ( self . options . disabled || self . element . attr ( "readonly" ) ) {
56+ suppressKeyPress = true ;
5657return ;
5758}
5859
5960suppressKeyPress = false ;
6061var keyCode = $ . ui . keyCode ;
6162switch ( event . keyCode ) {
6263case keyCode . PAGE_UP :
64+ suppressKeyPress = true ;
6365self . _move ( "previousPage" , event ) ;
6466break ;
6567case keyCode . PAGE_DOWN :
68+ suppressKeyPress = true ;
6669self . _move ( "nextPage" , event ) ;
6770break ;
6871case keyCode . UP :
72+ suppressKeyPress = true ;
6973self . _move ( "previous" , event ) ;
7074// prevent moving cursor to beginning of text field in some browsers
7175event . preventDefault ( ) ;
7276break ;
7377case keyCode . DOWN :
78+ suppressKeyPress = true ;
7479self . _move ( "next" , event ) ;
7580// prevent moving cursor to end of text field in some browsers
7681event . preventDefault ( ) ;
@@ -112,7 +117,28 @@ $.widget( "ui.autocomplete", {
112117if ( suppressKeyPress ) {
113118suppressKeyPress = false ;
114119event . 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 ( ) {
118144if ( self . options . disabled ) {
0 commit comments