Javascript 单击并拖动时未禁用jquery ui滑块

Javascript 单击并拖动时未禁用jquery ui滑块,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,当我单击滑块的手柄并拖动它时,它将被禁用,但仍将滑动。禁用功能有什么问题 这是我的密码: $(function() { var prevValue=100; $( "#slider" ).slider({ value:100, min: 0, max: 500, step: 50, disabled: false, slide: function( event, ui ) {

当我单击滑块的手柄并拖动它时,它将被禁用,但仍将滑动。禁用功能有什么问题

这是我的密码:

$(function() {
    var prevValue=100;
    $( "#slider" ).slider({
        value:100,
        min: 0,
        max: 500,
        step: 50,
        disabled: false,
        slide: function( event, ui ) {
            $( "#slider" ).slider( "option", "disabled", true );
            setTimeout(function(){
     $( "#slider" ).slider( "option", "disabled", false );   

    },2000);
            if (prevValue>ui.value){
                ui.value= prevValue-50;
            }else{
                ui.value= prevValue+50;
            }
            prevValue=ui.value;

            $( "#zomlevel" ).val( "$" + ui.value );
            $( "#slider" ).slider( "option", "value", prevValue );
            $('#slider').trigger(e);
            }
    });


    $( "#zomlevel" ).val($( "#slider" ).slider( "value" ) );


});
但当我点击滑块,然后释放它将被禁用。如何使其在单击和拖动时完全禁用


这里有一个jsfiddle:

为什么代码中有这一行

setTimeout(function(){
 $( "#slider" ).slider( "option", "disabled", false );   

},2000);

把它拿出来,它就不能用了。否则,它将在2秒后重新启用

为什么代码中有这一行

setTimeout(function(){
 $( "#slider" ).slider( "option", "disabled", false );   

},2000);

把它拿出来,它就不能用了。否则,它将在2秒后重新启用

,即为滑块设置2秒的延迟,以便在每次滑动后再次启用。问题是滑块仍然在滑动,即使它在拖动模式下被禁用。我想我不明白当时的目标。是否希望在拾取滑块时立即禁用滑块?只有当您放下滑块时,才会调用slide方法,即为滑块设置2秒的延迟,以便在每次滑动后再次启用滑块。问题是滑块仍然在滑动,即使它在拖动模式下被禁用。我想我不明白当时的目标。是否希望在拾取滑块时立即禁用滑块?只有当您放下滑块时,才会调用slide方法