jQuery UI Slider不会移动最近的拖动器/句柄

时间:2012-02-17 21:46:10

标签: jquery jquery-ui rangeslider

据我所知,如果单击滑块,jQuery UI Range滑块应该移动最近的dragger / handle。但是在我的情况下,这似乎没有发生,只有左侧拖动器被移动。例如,您可以看到以下代码:

$(function() {
    $( "#slider-range" ).slider({
        range: true,
        min: 0,
        max: 4,
        step: 1,
        values: [ 0, 4 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
    });
    $( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
        " - $" + $( "#slider-range" ).slider( "values", 1 ) );
});

你可以看到这个例子的jsFiddle:http://jsfiddle.net/dZ7Yg/

如果您尝试通过简单地单击滑块将右侧拖动器/手柄移动到第二个点,您将无法执行此操作。一旦右侧拖动器到达第三个点,如果您甚至在它之前单击1px,它将不会移动到第二个点,它将在任何情况下移动左侧。

有人可以帮我这个吗?怎么解决这个问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

单击这些栏有点棘手,但我认为下面是它的表现,

条件1 :左侧滑块优先于右侧滑块。

条件2 :当您点击靠近下一个位置时,滑块会移动到下一个位置。例如:在下图中,当您单击包围P1的蓝色矩形中的任何位置时,左侧滑块将移动到P1。

条件3 :点击滑块附近的任何地方都不会做任何事情。

enter image description here

请记住这些条件并阅读以下内容,

当您将右滑块移动到P2时,现在您想要将滑块从P2移动到P1,但是左滑块优先并将其移动到P1。

enter image description here

现在再次单击P1不会向右移动滑块,因为左侧滑块位于P1上,而根据条件3,它不执行任何操作。

对我而言,范围的jQuery滑块看起来并不像我们期望的那样。