r2430 - fixed #4391 - ui-state-hover, ui-state-active and disabled sliders
Author: rdworth
Date: Wed Apr 1 17:10:52 2009
New Revision: 2430
Modified:
trunk/ui/ui.slider.js
Log:
fixed #4391 - ui-state-hover, ui-state-active and disabled sliders
Modified: trunk/ui/ui.slider.js
==============================================================================
--- trunk/ui/ui.slider.js (original)
+++ trunk/ui/ui.slider.js Wed Apr 1 17:10:52 2009
@@ -77,10 +77,26 @@
this.handle = this.handles.eq(0);
this.handles.add(this.range).filter("a")
- .click(function(event) { event.preventDefault(); })
- .hover(function() { $(this).addClass('ui-state-hover'); }, function() {
$(this).removeClass('ui-state-hover'); })
- .focus(function() {
$(".ui-slider .ui-state-focus").removeClass('ui-state-focus');
$(this).addClass('ui-state-focus'); })
- .blur(function() { $(this).removeClass('ui-state-focus'); });
+ .click(function(event) {
+ event.preventDefault();
+ })
+ .hover(function() {
+ if (!o.disabled) {
+ $(this).addClass('ui-state-hover');
+ }
+ }, function() {
+ $(this).removeClass('ui-state-hover');
+ })
+ .focus(function() {
+ if (!o.disabled) {
+ $(".ui-slider .ui-state-focus").removeClass('ui-state-focus');
$(this).addClass('ui-state-focus');
+ } else {
+ $(this).blur();
+ }
+ })
+ .blur(function() {
+ $(this).removeClass('ui-state-focus');
+ });
this.handles.each(function(i) {
$(this).data("index.ui-slider-handle", i);
@@ -415,6 +431,14 @@
$.widget.prototype._setData.apply(this, arguments);
switch (key) {
+ case 'disabled':
+ if (value) {
+ this.handles.filter(".ui-state-focus").blur();
+ this.handles.removeClass("ui-state-hover");
+ this.handles.attr("disabled", "disabled");
+ } else {
+ this.handles.removeAttr("disabled");
+ }
case 'orientation':
this._detectOrientation();