diff options
author | Felix Nagel <info@felixnagel.com> | 2012-11-23 13:49:12 +0100 |
---|---|---|
committer | Felix Nagel <info@felixnagel.com> | 2012-11-23 13:49:12 +0100 |
commit | e25cdd88e7f2558311492957e379e11f987a1080 (patch) | |
tree | a0353f8f3ef49537618721d0bbd7cfab2b432759 /ui/jquery.ui.slider.js | |
parent | 0d4a8dca55562131212f2638af4bf05052a41b2a (diff) | |
parent | 421aeaa08135e747ff9f2a59974c26b350cdcda7 (diff) | |
download | jquery-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.js | 23 |
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": |