aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.slider.js
diff options
context:
space:
mode:
authorFelix Nagel <info@felixnagel.com>2012-11-23 13:49:12 +0100
committerFelix Nagel <info@felixnagel.com>2012-11-23 13:49:12 +0100
commite25cdd88e7f2558311492957e379e11f987a1080 (patch)
treea0353f8f3ef49537618721d0bbd7cfab2b432759 /ui/jquery.ui.slider.js
parent0d4a8dca55562131212f2638af4bf05052a41b2a (diff)
parent421aeaa08135e747ff9f2a59974c26b350cdcda7 (diff)
downloadjquery-ui-e25cdd88e7f2558311492957e379e11f987a1080.tar.gz
jquery-ui-e25cdd88e7f2558311492957e379e11f987a1080.zip
Merge branch 'master' into selectmenu
Diffstat (limited to 'ui/jquery.ui.slider.js')
-rw-r--r--ui/jquery.ui.slider.js23
1 files changed, 9 insertions, 14 deletions
diff --git a/ui/jquery.ui.slider.js b/ui/jquery.ui.slider.js
index 18f7113d4..d9fc1b132 100644
--- a/ui/jquery.ui.slider.js
+++ b/ui/jquery.ui.slider.js
@@ -54,8 +54,7 @@ $.widget( "ui.slider", $.ui.mouse, {
" ui-slider-" + this.orientation +
" ui-widget" +
" ui-widget-content" +
- " ui-corner-all" +
- ( o.disabled ? " ui-slider-disabled ui-disabled" : "" ) );
+ " ui-corner-all");
this.range = $([]);
@@ -116,6 +115,8 @@ $.widget( "ui.slider", $.ui.mouse, {
$( this ).data( "ui-slider-handle-index", i );
});
+ this._setOption( "disabled", o.disabled );
+
this._on( this.handles, {
keydown: function( event ) {
var allowed, curVal, newVal, step,
@@ -205,7 +206,6 @@ $.widget( "ui.slider", $.ui.mouse, {
.removeClass( "ui-slider" +
" ui-slider-horizontal" +
" ui-slider-vertical" +
- " ui-slider-disabled" +
" ui-widget" +
" ui-widget-content" +
" ui-corner-all" );
@@ -233,21 +233,15 @@ $.widget( "ui.slider", $.ui.mouse, {
distance = this._valueMax() - this._valueMin() + 1;
this.handles.each(function( i ) {
var thisDistance = Math.abs( normValue - that.values(i) );
- if ( distance > thisDistance ) {
+ if (( distance > thisDistance ) ||
+ ( distance === thisDistance &&
+ (i === that._lastChangedValue || that.values(i) === o.min ))) {
distance = thisDistance;
closestHandle = $( this );
index = i;
}
});
- // workaround for bug #3736 (if both handles of a range are at 0,
- // the first is always used as the one with least distance,
- // and moving it is obviously prevented by preventing negative ranges)
- if( o.range === true && this.values(1) === o.min ) {
- index += 1;
- closestHandle = $( this.handles[index] );
- }
-
allowed = this._start( event, index );
if ( allowed === false ) {
return false;
@@ -419,6 +413,9 @@ $.widget( "ui.slider", $.ui.mouse, {
uiHash.values = this.values();
}
+ //store the last changed value index for reference when handles overlap
+ this._lastChangedValue = index;
+
this._trigger( "change", event, uiHash );
}
},
@@ -483,10 +480,8 @@ $.widget( "ui.slider", $.ui.mouse, {
this.handles.filter( ".ui-state-focus" ).blur();
this.handles.removeClass( "ui-state-hover" );
this.handles.prop( "disabled", true );
- this.element.addClass( "ui-disabled" );
} else {
this.handles.prop( "disabled", false );
- this.element.removeClass( "ui-disabled" );
}
break;
case "orientation":