Одной из проблем является то, что AFAIK HTML5 не определяет, когда должно происходить событие onchange
, поэтому оно, скорее всего, отличается от браузера к браузеру.И вам также нужно учитывать, что браузер на самом деле не должен отображать input type=range
как слайдер.
Ваш единственный выбор - вам нужно встроить механизм, чтобы убедиться, что ваш поиск нене запускаются слишком часто, например, проверьте, выполняется ли в данный момент поиск, и прервите его, если это так, или убедитесь, что поиск запускается максимум каждые x секунд.
Быстрыйпример для последнего (просто быстрый взлом, непроверенный).
var doSearch = false;
function runSearch() {
// execute your search here
}
setInterval(function() {
if (doSearch) {
doSearch = false;
runSearch();
}
}, 2000); // 2000ms between each search.
yourRangeInputElement.onchange = function() { doSearch = true; }