У меня есть кнопки громкости, которые привязаны к событиям touchstart и mousedown, а также событиям touchhend и mouseup (я также пробовал touchleave и touchcancel).Кнопка Touchend и Sliding Finger Off
Когда пользователь удерживает свой палец на кнопке и поднимает их палец, он вызывает конечный обработчик, как ожидалось. Однако, если пользователь выталкивает свой палец из кнопки, а затем поднимает палец, событие никогда не срабатывает (что вызывает проблему бесконечно уменьшающегося или увеличивающегося регулятора громкости).
Я попытался привязать событие touchhend к объекту window, который, кажется, ничего не делает. Вот что у меня есть на данный момент:
$('#volume-wrap button').on('touchstart mousedown', function() {
if (this.id == 'volume-down')
volume_timer = setInterval(function(){main.hud.adjustVolume('down')}, 100);
else
volume_timer = setInterval(function(){main.hud.adjustVolume('up')}, 100);
});
$(window).on('touchend mouseup', function() {
if (volume_timer) {
clearInterval(volume_timer);
volume_timer = 0;
}
});