4

我正在使用 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/

4

1 回答 1

3

问题是,每当单击鼠标、轻微移动等时,后台的 jQuery 都会更改绑定到滑块的输入值,因此“更改”实际上经常触发,因为它应该如此。

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

于 2013-03-25T01:24:41.263 回答