我正在使用 jQuery 移动 slider 输入。我的页面中可以有多个 slider ,发生的事情是经常触发“更改”事件,而不仅仅是在实际输入值发生变化时。 这是我的代码:
<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/
最佳答案
问题在于,只要单击鼠标、稍微移动等,后台的 jQuery 就会更改绑定(bind)到 slider 的输入值,因此“更改”实际上经常触发,因为它应该如此。
在 jQuery Mobile 中,您最好使用 slidestop仅当 slider 停止移动时才会触发的事件。请注意,当输入的值以编程方式更改时不会触发此事件,只有当用户使用实际 slider 时才会触发。
关于javascript - jQuery Mobile slider 输入更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15605952/