aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2012-05-22 16:01:40 +0200
committerJörn Zaefferer <joern.zaefferer@gmail.com>2012-05-22 16:01:40 +0200
commit9dcd0e0eb824a4000692b6ce6d864056339ac498 (patch)
tree81038416cfae190c7e40b133cb28f9dd74d38337 /ui
parent1f1613852cb6116cd71a6600d737099fc2d55d2a (diff)
downloadjquery-ui-9dcd0e0eb824a4000692b6ce6d864056339ac498.tar.gz
jquery-ui-9dcd0e0eb824a4000692b6ce6d864056339ac498.zip
Menu: Handle SPACE same as ENTER, select items or opening submenus
Diffstat (limited to 'ui')
-rw-r--r--ui/jquery.ui.menu.js22
1 files changed, 15 insertions, 7 deletions
diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js
index d3c32e3a0..1bfd76716 100644
--- a/ui/jquery.ui.menu.js
+++ b/ui/jquery.ui.menu.js
@@ -202,13 +202,11 @@ $.widget( "ui.menu", {
event.preventDefault();
break;
case $.ui.keyCode.ENTER:
- if ( !this.active.is( ".ui-state-disabled" ) ) {
- if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
- this.expand( event );
- } else {
- this.select( event );
- }
- }
+ this._activate( event );
+ event.preventDefault();
+ break;
+ case $.ui.keyCode.SPACE:
+ this._activate( event );
event.preventDefault();
break;
case $.ui.keyCode.ESCAPE:
@@ -260,6 +258,16 @@ $.widget( "ui.menu", {
}
},
+ _activate: function( event ) {
+ if ( !this.active.is( ".ui-state-disabled" ) ) {
+ if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
+ this.expand( event );
+ } else {
+ this.select( event );
+ }
+ }
+ },
+
refresh: function() {
// initialize nested menus
var menus,