2012-09-04 2 views
0

터치 시작을 사용하여 몇 가지 공유 옵션을 표시하는 이벤트를 설정하려고합니다. & touchend. 이것은 네이티브 앱의 꽤 표준적인 기능이지만 모바일 웹에서는별로 보지 못했습니다. 이 이벤트를 통해 사용자는 사이트의 주요 콘텐츠 영역을 탭할 수 있으며 탭이 1 초 이상 길면 옵션 상자가 화면에서 슬라이드되어 페이지 콘텐츠 공유 옵션이 표시됩니다.모바일 시간 지정 터치 이벤트

아래의 기능은 첫 번째 이벤트에서 작동하지만 사용자가 onces 이상으로 이벤트를 트리거하면 이벤트를 실행하는 데 1 초의 요구 사항없이 실행됩니다.

누구나 더 나은 방법을 제안하거나 타이머가 매번 작동하지 않는 이유를 확인할 수 있습니까?

if (typeof ontouchstart != 'undefined' && typeof ontouchend != 'undefined') { 
var touchStartOrClick = 'touchstart', touchEndOrClick = 'touchend'; 
} else { 
var touchStartOrClick = 'click', touchEndOrClick = 'click'; 
}; 

function shareTog(){ 
    $('.sharing-pop').animate({width: 'toggle'}); 
} 

var touchTrigger; 

$('#content').bind(touchStartOrClick, function(){ 
    setInterval(function(){ 
     touchTrigger = true; 
    }, 1000); 
}).bind(touchEndOrClick, function(){ 
    window.clearInterval(); 
    if(touchTrigger == true){ 
     shareTog(); 
     touchTrigger = false; 
    } 
}); 

나는이 jQuery를 모바일로 할 일이 많이 쉬워 질 것 알고 있어요하지만 불행히도 그것은 옵션이 아니다.

답변

0

나는 당신의 표류를 잡는다. 그러나 나는 그것이 웹 브라우저에서 좋은 해결책이라고 생각하지 않는다. Android의 경우 예를 들어 웹 페이지에서 콘텐츠를 길게 누를 때 이미 팝업이 표시됩니다. 당신은 그 이벤트 핸들러를 막아야 만 할 것입니다. 그렇다고 네이티브를 얻을 수 있다는 것을 의미합니다.

+0

의 소스 코드를 확인할 수 있습니다. – HjalmarCarlson

+0

나에게 좋은 생각 같지는 않습니다. 할아버지가 내 핸드폰을 1 초 미만으로 누르면 내 팝업이 실행되지 않지만 내 핸드폰은 울립니다. – HansElsen

1

zepto은 좋은 선택입니다. 그 터치 모듈은 훌륭한 이벤트 핸들러를 제공합니다.

또는 당신은 내가 당신은 내가 2 번째로 설정할 수 있습니다이 경우에, 그래서 대부분의 장치는, 1+ 초입니다 긴 모바일 웹에 눌러 그러나 무엇을 의미하는지 볼 zepto touch

관련 문제