2012-03-19 45 views
2

是否可以禁用鼠标点击,而不是重新启用鼠标点击一个jQuery UI滑块?jQuery - 用户界面滑块鼠标禁用和重新启用鼠标

doen't jQuery的实例似乎起作用

代码示例

初始化的滑块与指定的禁用选项。

$(".selector").slider({ disabled: true }); 

在init之后获取或设置disabled选项。

//getter 
var disabled = $(".selector").slider("option", "disabled"); 
//setter 
$(".selector").slider("option", "disabled", true); 

编辑1

继承人是取消隐藏隐藏的复选框,触发器....一旦点击它应该在滑块上禁用鼠标点击,并允许复选框来接管。

 $pageHelpYes.click(function() { 

      $pageHelpHidden.animate({ 
        'height': '650px' 
      }, 1000); 
      $pageHelpYes.attr('disabled', 'disabled'); 
      $("#R_C-designPrice2, #R_C-designPrice, #R_C-designAdded").addClass('R_C-added'); 
      $pageHelpNo.removeAttr('disabled'); 
      $("#designHidden").val('Yes'); 

      var checkedCount = $(":checkbox:checked").length; 

      var s = $pageSlider, 
        val = s.slider("value", checkedCount), 
        step = s.slider("option", "step"); 
      s.slider("value", checkedCount); 
      $pages.val(("value", checkedCount)); 
      $amount.val([("value", checkedCount) * pageAmount]/[$daySlider.slider("value")]); 

    //Slider Mouse Disable Code below..... 
      var kill = $("pagesSlider").slider("option", "disabled"); 
      $("pageSlider").slider("option", "disabled", true); 

      $slideCalc.click(); 

继承人滑块代码。

$pageSlider.slider({ 
      disabled: false, 
      animate: true, 
      range: "min", 
      value: 5, 
      min: 1, 
      max: 25, 
      step: 1, 
      slide: function (event, ui) { 
        $pages.val(ui.value); 
        $slideCalc.click(); 


      } 
    }); 

下面是隐藏复选框并重新激活滑动鼠标点击的代码。

 $pageHelpNo.click(function() { 
      $pageHelpHidden.animate({ 
        'height': '0px' 
      }, 1000); 
      $("#R_C-designPrice2, #R_C-designPrice, #R_C-designAdded").removeClass('R_C-added'); 
      $pageHelpYes.removeAttr('disabled'); 
      $pageHelpNo.attr('disabled', 'disabled'); 
      $("#designHidden").val('No'); 

    //Slider Re-activate Code below..... 
      var kill = $("pagesSlider").slider("option", "disabled"); 
      $("pageSlider").slider("option", "disabled", false); 
    }); 
+0

正如你说这我同意,但也许你应该解释多一点详细的你究竟尝试做。在我听起来你脑子里有什么特别的东西时,你必须改变滑块本身的代码。 – 2012-03-19 21:24:12

+0

添加了附加信息..... – 2012-03-19 22:15:46

+0

请你可以做一个演示的问题,如果可能的话,也许使用[jsFiddle](http://jsfiddle.net/) – andyb 2012-03-19 22:36:23

回答

3

您已经定义了滑块变量:

$pageSlider.slider({  
    //... 
}); 

然后你叫禁用方法如下:

$("pageSlider").slider("option", "disabled", true); 

所以问题是,你使用的选择了标签命名为“pageSlider”,我很确定它永远不会存在。你必须使用滑块变量。

尝试禁用滑块是这样的:

$pageSlider.slider("option", "disabled", true); 
+0

今晚会给它一个镜头....感谢您的回应。 – 2012-07-26 09:25:22