首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML5范围的onChange事件

HTML5范围的onChange事件
EN

Stack Overflow用户
提问于 2011-03-02 17:30:25
回答 9查看 83.3K关注 0票数 71

目前,我的range输入上的onChange事件在每一步都会触发。

有没有办法阻止这个事件触发,直到用户松开滑块?

我正在使用范围来创建一个搜索查询。我希望能够在每次表单更改时运行搜索,但在滑块移动的每一步都发出搜索请求太多了。

下面是代码原样:

HTML:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
$(".slider").change(function() {
    $("#query").text($("form").serialize());
});

这有帮助吗?

EN

回答 9

Stack Overflow用户

发布于 2014-05-19 08:27:29

用于最终选定的值:

代码语言:javascript
复制
 $(".slider").on("change", function(){console.log(this.value)});

使用以滑动方式获取增量值:

代码语言:javascript
复制
$(".slider").on("input", function(){console.log(this.value)});
票数 69
EN

Stack Overflow用户

发布于 2011-09-26 21:11:49

有点晚了,但前几天我也遇到了同样的问题。以下是我使用jQuery绑定/触发器的解决方案:

代码语言:javascript
复制
(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”事件即可。

票数 14
EN

Stack Overflow用户

发布于 2011-07-18 02:23:06

哇!

使用onmouseup事件而不是onChange

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5165579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档