diff options
author | kborchers <kris.borchers@gmail.com> | 2012-02-03 16:12:37 -0600 |
---|---|---|
committer | kborchers <kris.borchers@gmail.com> | 2012-02-03 16:12:37 -0600 |
commit | 48ad0994a0e517ac22c4fccab0958b6668640d78 (patch) | |
tree | e546456183d1ef88679612c755024cd185c37ecb | |
parent | 4259978d39c6c9d8ce292ad0839d0d42c45400f0 (diff) | |
download | jquery-ui-48ad0994a0e517ac22c4fccab0958b6668640d78.tar.gz jquery-ui-48ad0994a0e517ac22c4fccab0958b6668640d78.zip |
Menu: Prevent clicking on disabled menu items and remove unnecessary extra padding from disabled items.
-rw-r--r-- | tests/visual/menu/menu.html | 10 | ||||
-rw-r--r-- | themes/base/jquery.ui.menu.css | 2 | ||||
-rw-r--r-- | ui/jquery.ui.menu.js | 18 |
3 files changed, 17 insertions, 13 deletions
diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html index 0715ac7f7..7fffdf2a7 100644 --- a/tests/visual/menu/menu.html +++ b/tests/visual/menu/menu.html @@ -76,12 +76,12 @@ <ul id="menu2"> <li><a href="#">Aberdeen</a></li> <li><a href="#">Ada</a></li> - <li><a href="#">Adamsville</a></li> + <li class="ui-state-disabled"><a href="#">Adamsville</a></li> <li><a href="#">Addyston</a></li> <li> <a href="#">Delphi</a> <ul> - <li><a href="#">Ada</a></li> + <li class="ui-state-disabled"><a href="#">Ada</a></li> <li><a href="#">Saarland</a></li> <li><a href="#">Salzburg</a></li> </ul> @@ -113,7 +113,7 @@ <ul id="menu3"> <li><a href="#"><span class="ui-icon ui-icon-print"></span>Aberdeen</a></li> - <li><a href="#"><span class="ui-icon ui-icon-scissors"></span>Ada</a></li> + <li class="ui-state-disabled"><a href="#"><span class="ui-icon ui-icon-scissors"></span>Ada</a></li> <li><a href="#">Adamsville</a></li> <li><a href="#"><span class="ui-icon ui-icon-wrench"></span>Addyston</a></li> <li> @@ -193,7 +193,7 @@ <div id="menu5"> <blockquote><a href="#">Aberdeen</a></blockquote> <blockquote><a href="#">Ada</a></blockquote> - <blockquote><a href="#">Adamsville</a></blockquote> + <blockquote class="ui-state-disabled"><a href="#">Adamsville</a></blockquote> <blockquote><a href="#">Addyston</a></blockquote> <blockquote> <a href="#">Delphi</a> @@ -243,7 +243,7 @@ <span class="address-content">Bloomsburg, PA 12345</span> </a> </div> - <div class="address-item"> + <div class="address-item ui-state-disabled"> <a href="#"> <span class="address-header">James Doe</span> <span class="address-content">78 West Main St Apt 3A</span> diff --git a/themes/base/jquery.ui.menu.css b/themes/base/jquery.ui.menu.css index 33a9498fb..2df00733f 100644 --- a/themes/base/jquery.ui.menu.css +++ b/themes/base/jquery.ui.menu.css @@ -14,7 +14,7 @@ .ui-menu .ui-menu-item a.ui-state-focus, .ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; } -.ui-menu .ui-state-disabled { font-weight: normal; padding: .0em .4em; margin: .4em 0 .2em; line-height: 1.5; } +.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; } /* icon support */ .ui-menu-icons { position: relative; } diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js index ebfd5087c..3ebdeeee3 100644 --- a/ui/jquery.ui.menu.js +++ b/ui/jquery.ui.menu.js @@ -56,13 +56,17 @@ $.widget( "ui.menu", { }, "click .ui-menu-item:has(a)": function( event ) { event.stopImmediatePropagation(); - this.select( event ); - // Redirect focus to the menu with a delay for firefox - this._delay( function() { - if ( !this.element.is(":focus") ) { - this.element.focus(); - } - }, 20); + //Don't select disabled menu items + if ( !$( event.target ).closest( ".ui-menu-item" ).is( ".ui-state-disabled" ) ) { + console.log(event.target); + this.select( event ); + // Redirect focus to the menu with a delay for firefox + this._delay( function() { + if ( !this.element.is(":focus") ) { + this.element.focus(); + } + }, 20); + } }, "mouseover .ui-menu-item": function( event ) { event.stopImmediatePropagation(); |