diff options
author | jzaefferer <joern.zaefferer@gmail.com> | 2010-04-30 13:04:09 +0200 |
---|---|---|
committer | jzaefferer <joern.zaefferer@gmail.com> | 2010-04-30 13:04:09 +0200 |
commit | abfdb2a8b6f93607c0791ba91ab616aed6b04772 (patch) | |
tree | b98aabd49f7981c673c343042a44f302909fdf9c /ui/jquery.ui.menu.js | |
parent | c7edd586d4ffc381690270130dd53e3a8007d613 (diff) | |
download | jquery-ui-abfdb2a8b6f93607c0791ba91ab616aed6b04772.tar.gz jquery-ui-abfdb2a8b6f93607c0791ba91ab616aed6b04772.zip |
First attempt at integrating key handling into menu
Diffstat (limited to 'ui/jquery.ui.menu.js')
-rw-r--r-- | ui/jquery.ui.menu.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js index 3ea98677e..b8e1fd410 100644 --- a/ui/jquery.ui.menu.js +++ b/ui/jquery.ui.menu.js @@ -31,6 +31,39 @@ $.widget("ui.menu", { self.select( event ); }); this.refresh(); + + if (!this.options.input) { + this.options.input = this.element.attr("tabindex", 0); + } + this.options.input.bind("keydown.menu", function(event) { + switch (event.keyCode) { + case $.ui.keyCode.PAGE_UP: + self.previousPage(); + event.preventDefault(); + event.stopImmediatePropagation(); + break; + case $.ui.keyCode.PAGE_DOWN: + self.nextPage(); + event.preventDefault(); + event.stopImmediatePropagation(); + break; + case $.ui.keyCode.UP: + self.previous(); + event.preventDefault(); + event.stopImmediatePropagation(); + break; + case $.ui.keyCode.DOWN: + self.next(); + event.preventDefault(); + event.stopImmediatePropagation(); + break; + case $.ui.keyCode.ENTER: + self.select(); + event.preventDefault(); + event.stopImmediatePropagation(); + break; + } + }); }, destroy: function() { |