[英]Trigger an event at end of onchange for input type range
如何触发事件或检测输入类型范围的onchange事件的结束。
$('.slider').on('change',function(e){
console.log(e.target.value);
});
现在,当我开始拖动范围输入时,这将返回许多控制台日志。 我想在onchange事件结束时获取值。 怎么做到这一点?
谢谢 ;)
你可以使用像这样的mousedown
和mouseup
var prevValue = 0; $('.slider').on('change',function(e){ }); // mouse down to check for previous value $('.slider').on('mousedown',function(e){ prevValue = $(this).val(); }); // mouse up when the mouse up from the slider with end value $('.slider').on('mouseup' , function(){ var ThisValue = $(this).val(); if(ThisValue !== prevValue){ // check new value with previous value alert('Value Changed'); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input class="slider" type="range" min="0" max="100"/>
对于上面使用mouseup
和mousedown
事件的完整答案作为例子,如果你需要将之前的值与新值进行比较,就像JYoThI所说我认为在变化事件上足以得到范围的最后一个值
如果您需要实时更新div值,可以使用input
事件的附加信息
工作演示
$('.slider').on('change',function(e){ console.log($(this).val()); }); //update sliderCount div with real time value $('.slider').on('input',function(e){ $('.sliderCount').text($(this).val()); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input class="slider" type="range" value="50" min="0" max="100"/> <div class="sliderCount">50</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.