aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.autocomplete.js
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2011-05-10 17:40:49 +0200
committerJörn Zaefferer <joern.zaefferer@gmail.com>2011-05-10 17:40:49 +0200
commit0e1bfaf1fa07c9d7f805f9fb16e480e2545eb251 (patch)
tree8ebf3be492cc4b0d61127616d10f6546e8008370 /ui/jquery.ui.autocomplete.js
parent309ca08f721791f77c17c84f6bbe99206f418925 (diff)
parentbdfc6d532c68c092a83461a8b76840719294313f (diff)
downloadjquery-ui-0e1bfaf1fa07c9d7f805f9fb16e480e2545eb251.tar.gz
jquery-ui-0e1bfaf1fa07c9d7f805f9fb16e480e2545eb251.zip
Merge remote branch 'treyhunner/topic/arrow-keys'
Diffstat (limited to 'ui/jquery.ui.autocomplete.js')
-rw-r--r--ui/jquery.ui.autocomplete.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js
index e388a63bd..141337616 100644
--- a/ui/jquery.ui.autocomplete.js
+++ b/ui/jquery.ui.autocomplete.js
@@ -62,6 +62,7 @@ $.widget( "ui.autocomplete", {
})
.bind( "keydown.autocomplete", function( event ) {
if ( self.options.disabled || self.element.attr( "readonly" ) ) {
+ suppressKeyPress = true;
return;
}
@@ -69,17 +70,21 @@ $.widget( "ui.autocomplete", {
var keyCode = $.ui.keyCode;
switch( event.keyCode ) {
case keyCode.PAGE_UP:
+ suppressKeyPress = true;
self._move( "previousPage", event );
break;
case keyCode.PAGE_DOWN:
+ suppressKeyPress = true;
self._move( "nextPage", event );
break;
case keyCode.UP:
+ suppressKeyPress = true;
self._move( "previous", event );
// prevent moving cursor to beginning of text field in some browsers
event.preventDefault();
break;
case keyCode.DOWN:
+ suppressKeyPress = true;
self._move( "next", event );
// prevent moving cursor to end of text field in some browsers
event.preventDefault();
@@ -121,7 +126,28 @@ $.widget( "ui.autocomplete", {
if ( suppressKeyPress ) {
suppressKeyPress = false;
event.preventDefault();
+ return;
}
+
+ var keyCode = $.ui.keyCode;
+ switch( event.keyCode ) {
+ case keyCode.PAGE_UP:
+ self._move( "previousPage", event );
+ break;
+ case keyCode.PAGE_DOWN:
+ self._move( "nextPage", event );
+ break;
+ case keyCode.UP:
+ self._move( "previous", event );
+ // prevent moving cursor to beginning of text field in some browsers
+ event.preventDefault();
+ break;
+ case keyCode.DOWN:
+ self._move( "next", event );
+ // prevent moving cursor to end of text field in some browsers
+ event.preventDefault();
+ break;
+ }
})
.bind( "focus.autocomplete", function() {
if ( self.options.disabled ) {