aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkborchers <kris.borchers@gmail.com>2012-02-03 16:12:37 -0600
committerkborchers <kris.borchers@gmail.com>2012-02-03 16:12:37 -0600
commit48ad0994a0e517ac22c4fccab0958b6668640d78 (patch)
treee546456183d1ef88679612c755024cd185c37ecb
parent4259978d39c6c9d8ce292ad0839d0d42c45400f0 (diff)
downloadjquery-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.html10
-rw-r--r--themes/base/jquery.ui.menu.css2
-rw-r--r--ui/jquery.ui.menu.js18
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();