目前,我的range输入上的onChange事件在每一步都会触发。
有没有办法阻止这个事件触发,直到用户松开滑块?
我正在使用范围来创建一个搜索查询。我希望能够在每次表单更改时运行搜索,但在滑块移动的每一步都发出搜索请求太多了。
下面是代码原样:
HTML:
<div id="page">
<p>Currently viewing page <span>1</span>.</p>
<input class="slider" type="range" min="1" max="100" step="1" value="1" name="page" />
</div>
JavaScript:
$(".slider").change(function() {
$("#query").text($("form").serialize());
});
这有帮助吗?
发布于 2014-05-19 08:27:29
用于最终选定的值:
$(".slider").on("change", function(){console.log(this.value)});
使用以滑动方式获取增量值:
$(".slider").on("input", function(){console.log(this.value)});
发布于 2011-09-26 21:11:49
有点晚了,但前几天我也遇到了同样的问题。以下是我使用jQuery绑定/触发器的解决方案:
(function(el, timeout) {
var timer, trig=function() { el.trigger("changed"); };
el.bind("change", function() {
if(timer) {
clearTimeout(timer);
}
timer = setTimeout(trig, timeout);
});
})($(".slider"), 500);
现在只需将您的函数绑定到“changed”事件即可。
发布于 2011-07-18 02:23:06
哇!
使用onmouseup
事件而不是onChange
https://stackoverflow.com/questions/5165579
复制相似问题