jQuery移动滑块输入更改事件

时间:2013-03-25 00:38:16

标签: javascript jquery-mobile jquery

我正在使用jQuery移动滑块输入。我的页面中可以有多个滑块,发生的事情是“更改”事件经常被触发,而不仅仅是实际输入值发生变化时。 这是我的代码:

<div class="questionContent ui-hide-label" data-role="fieldcontain">
    <input type="range" class="slider" value="" min="1" max="5" data-highlight="true" name="slider"  data-theme="b" />  
</div>

$('input.slider').each(function() {
    $(this)
    .bind('change',function() {
        console.log('changed')
    })
})

我还为此创建了一个jsFiddle:http://jsfiddle.net/EAewE/

1 个答案:

答案 0 :(得分:4)

问题是,只要点击鼠标,轻微移动等等,后台的jQuery就会改变绑定到滑块的输入值,因此“更改”实际上是因为它应该是触发的。

在jQuery Mobile中,您最好使用slidestop事件,该事件仅在滑块停止移动时触发。请注意,只有当用户使用实际滑块时,才会以编程方式更改输入值时触发此事件。