2013-08-01 2 views
0

jQuery UI 1.10.3을 사용하고 있습니다. 슬라이더 위젯의 인스턴스를 드래그 할 수 없도록 만들려고합니다. 나는 사용자가 슬라이더를 따라 값을 클릭 할 수 있기를 원한다.jQuery UI 슬라이더를 클릭 가능하게 드래그 할 수 없게 만들기

슬라이더의 시작 방법에서 eventDefault을 시도했습니다. 작동하지 않았습니다 (응답하지 않는 슬라이더). http://jsfiddle.net/3hTUz/

답변

2
$("#slider").slider({ 
      value:100, 
      min: 0, 
      max: 500, 
      step: 50 
}).on({ 
    slide: function(e,ui) { 
     $(this).data('v', ui.value); 
     e.preventDefault(); 
    }, 
    mousedown: function() { 
     var that = this; 
     setTimeout(function() { 
      var v = $(that).data('v'); 
      $(that).slider('value', v); 
     },2); 
    } 
}); 

$("#slider-value").html( $('#slider').slider('value')); 

FIDDLE

+0

훌륭한 솔루션입니다. 감사! –

0

그냥이 작동하지 않습니다이

$("#slider").slider(
{ 
      value:100, 
      min: 0, 
      max: 500, 
      step: 50, 
    draggable: false, 
      slide: function(event, ui) { 
       $("#slider-value").html(ui.value); 
      }, 
      start: function(event, ui) { 
       //event.preventDefault(); 
      }, 
} 
); 

$("#slider-value").html( $('#slider').slider('value')); 
+0

같은 코드에 draggable: false를 추가합니다. 핸들을 클릭하고 드래그 - 계속 드래그합니다. –