diff options
Diffstat (limited to 'ui/ui.slider.js')
-rw-r--r-- | ui/ui.slider.js | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/ui/ui.slider.js b/ui/ui.slider.js index 43cfd3b27..2eee4f2d8 100644 --- a/ui/ui.slider.js +++ b/ui/ui.slider.js @@ -77,10 +77,26 @@ $.widget("ui.slider", $.extend({}, $.ui.mouse, { 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("ui.slider", $.extend({}, $.ui.mouse, { $.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(); |