diff --git a/js/jquery.mobile.forms.slider.js b/js/jquery.mobile.forms.slider.js index e9149be6..13ac9d86 100644 --- a/js/jquery.mobile.forms.slider.js +++ b/js/jquery.mobile.forms.slider.js @@ -71,7 +71,8 @@ $.widget( "mobile.slider", $.mobile.widget, { slider: slider, handle: handle, dragging: false, - beforeStart: null + beforeStart: null, + userModified: false }); if ( cType == "select" ) { @@ -113,12 +114,14 @@ $.widget( "mobile.slider", $.mobile.widget, { $( document ).bind( "vmousemove", function( event ) { if ( self.dragging ) { self.refresh( event ); + self.userModified = self.userModified || self.beforeStart !== control[0].selectedIndex; return false; } }); slider.bind( "vmousedown", function( event ) { self.dragging = true; + self.userModified = false; if ( cType === "select" ) { self.beforeStart = control[0].selectedIndex; @@ -135,7 +138,7 @@ $.widget( "mobile.slider", $.mobile.widget, { if ( cType === "select" ) { - if ( self.beforeStart === control[ 0 ].selectedIndex ) { + if ( !self.userModified ) { //tap occurred, but value didn't change. flip it! self.refresh( !self.beforeStart ? 1 : 0 ); } @@ -323,4 +326,4 @@ $( document ).bind( "pagecreate create", function( e ){ }); -})( jQuery ); \ No newline at end of file +})( jQuery );