]> source.dussan.org Git - jquery-ui.git/commitdiff
Accordion: Don't handle hover/focus when disabled. Fixes #5330 - Accordion headers...
authorScott González <scott.gonzalez@gmail.com>
Tue, 13 Jul 2010 13:10:43 +0000 (09:10 -0400)
committerScott González <scott.gonzalez@gmail.com>
Tue, 13 Jul 2010 13:10:43 +0000 (09:10 -0400)
ui/jquery.ui.accordion.js

index 07fad31304ee24989754bd96fde09866bf87a857..c8025cbbf4a5a80f1899b8b61b6475083079494d 100644 (file)
@@ -42,11 +42,24 @@ $.widget("ui.accordion", {
                // in lack of child-selectors in CSS we need to mark top-LIs in a UL-accordion for some IE-fix
                this.element.children("li").addClass("ui-accordion-li-fix");
 
-               this.headers = this.element.find(o.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all")
-                       .bind("mouseenter.accordion", function(){ $(this).addClass('ui-state-hover'); })
-                       .bind("mouseleave.accordion", function(){ $(this).removeClass('ui-state-hover'); })
-                       .bind("focus.accordion", function(){ $(this).addClass('ui-state-focus'); })
-                       .bind("blur.accordion", function(){ $(this).removeClass('ui-state-focus'); });
+               this.headers = this.element.find(o.header)
+                       .addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all")
+                       .bind("mouseenter.accordion", function() {
+                               if (o.disabled) { return; }
+                               $(this).addClass('ui-state-hover');
+                       })
+                       .bind("mouseleave.accordion", function() {
+                               if (o.disabled) { return; }
+                               $(this).removeClass('ui-state-hover');
+                       })
+                       .bind("focus.accordion", function() {
+                               if (o.disabled) { return; }
+                               $(this).addClass('ui-state-focus');
+                       })
+                       .bind("blur.accordion", function() {
+                               if (o.disabled) { return; }
+                               $(this).removeClass('ui-state-focus');
+                       });
 
                this.headers
                        .next()