2013-04-15 2 views
1

터치 스타트 및 마우스 다운 이벤트, touchend 및 mouseup 이벤트에 바인딩하는 볼륨 버튼이 있습니다 (터치 리복과 터치 캔슬도 시도했습니다).Touchend and Sliding Finger Off Button

사용자가 손가락에 단추를 올려 놓고 손가락을 떼면 예상대로 끝 핸들러를 호출합니다. 그러나 사용자가 손을 떼어 내고 손가락을 떼면 절대로 이벤트가 실행되지 않습니다 (볼륨 컨트롤을 무한히 감소 시키거나 증가시키는 문제가 있음).

나는 touchend 이벤트를 윈도우 객체에 바인딩하려고했는데 아무 것도하지 않는 것 같습니다. 현재 내가 가지고있는 것은 다음과 같습니다.

$('#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; 
    } 
}); 

답변