我正在尝试通过更改jQuery移动范围的最小/最大滑块通过用户交互通过ajax加载一些数据。
<label for="filter_price">Preis:</label>
<div data-role="rangeslider" id="filter_price" style="touch-action: none;">
<input type="range" name="price_from" id="price_from" min="1" max="2000" value="1" data-popup-enabled="true" class="filter_watch">
<input type="range" name="price_to" id="price_to" min="1" max="20000" value="20000" data-popup-enabled="true" class="filter_watch">
</div>
js:
$('#price_from').on("change mousemove", function
() {
alert('price filter');
})
https://jsfiddle.net/28avj4x5/
在jsfiddle上,每一次鼠标移动都会触发警报,而只有chagne应该触发。在我的项目中,该事件根本不会触发。我也尝试了change.(function...
,但没有任何效果。
如何在更改值和释放按钮时触发事件(仅当用户停止交互时才触发ajax调用的方式)?
答案 0 :(得分:2)
slidestop
事件是专门为此目的而设计的:
$(document).on("slidecreate", "#price_from", function(e) {
$(this).on("slidestop", function() {
var val = $(this).val();
// pass val to the ajax call
});
});
在我的代码段中尝试一下:https://stackoverflow.com/a/44519349/4845566