diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2012-05-22 16:01:40 +0200 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2012-05-22 16:01:40 +0200 |
commit | 9dcd0e0eb824a4000692b6ce6d864056339ac498 (patch) | |
tree | 81038416cfae190c7e40b133cb28f9dd74d38337 /ui | |
parent | 1f1613852cb6116cd71a6600d737099fc2d55d2a (diff) | |
download | jquery-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.js | 22 |
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, |