: 당신이 그것을 클릭하면사항 clearTimeout /에서는 setTimeout 모바일 장치에서
, 그것은 일부 라인을 보여 3 초 후에을 숨겨야합니다,하지만 당신은 버튼을 클릭하면 3 초가 지나기 전에 줄이 숨겨져 있어야합니다.
저는 데스크톱 브라우저에서 완벽하게 작동하는 코드를 작성했지만 모바일 브라우저에서는 그렇지 않습니다. 안드로이드 장치는 내 clearTimeout을 무시하는 것처럼 보이고 아이폰에서는 "buttonPressed"이벤트처럼 보입니다.
내가 작성한 내용을 볼 수 있도록 jsfiddle을 만들었습니다.
var timeout = null;
var buttonCallback = function() {
if(timeout === null) {
log('show lines');
timeout = setTimeout(buttonCallback, 3000);
}
else {
clearTimeout(timeout);
timeout = null;
log('hide lines');
}
}
var hammerElement = Hammer(document.getElementById('showLines'));
hammerElement.on("touch", function(e) {
e.preventDefault()
buttonCallback();
});
모바일 브라우저에서이 동작을 어떻게 만들 수 있습니까?
내 iPhone에서 피들이 작동합니다. 그러나 당신은 정확히 어떤 문제가 있습니까, 당신은 방금 "그것이 효과가 없다"고 말했습니다. – idmean
코드가 잘 보입니다. 나는 당신이 할 수있는 경우 Hammer.js의 최신 버전을 사용하려고합니다. 1.1.3이 최신 버전이고 Fiddle이 1.0.10을 사용 중입니다. 이벤트를 처리하는 방법에 버그가있을 수 있습니다. – pseudosavant