noUiSlider允许您根据以下代码段创建具有多个可拖动手柄的范围滑块:
var output = $('#output');
$('#range-slider').noUiSlider({
start: [0, 100],
range: {
'min': [0],
'max': [100]
}
}).on('slide', function(evt) {
// In this event handler, I want to see which of the two sliders is being moved
// Is there a property of the 'evt' parameter which would tell me this?
output.html($(this).val().join(' - '));
});
body { padding: 30px 30px; }
#range-slider { width: 300px; }
#output { margin-top: 30px; }
<link href="https://cdn.rawgit.com/leongersen/noUiSlider/c8a70344bebb0b69a09adf12a1e7cc08894f8c3b/distribute/jquery.nouislider.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/leongersen/noUiSlider/c8a70344bebb0b69a09adf12a1e7cc08894f8c3b/distribute/jquery.nouislider.all.min.js"></script>
<div id="range-slider"></div>
<div id="output"></div>
在事件的事件处理程序中slide
(在拖动每个滑块句柄时连续触发),我想知道当前正在移动哪个句柄。我在文档中看不到任何关于此的内容,并且evt
在浏览器的开发工具中检查事件处理程序的参数会发现大量数据,但我看不到的任何数据都无法识别句柄。
我可以做一些乱七八糟的事情,比如将mousedown
事件直接绑定到句柄元素并设置更高范围的变量的值,该变量可以从事件处理程序中访问以包含最后移动的句柄 ID/类......但我没有t 真的想要,特别是如果有更清洁的方法。任何人都可以帮忙吗?