2012-06-11 3 views
1

페이지 링크에서 클릭 이벤트를 사용하고 있습니다. iPad의 Safari에서 잘 작동하지만 같은 페이지에서 터치 이벤트를 사용하면 click 이벤트가 작동하지 않습니다. 터치 이벤트 만 iPad에서 작동합니다.터치 이벤트가있는 iPad에서 클릭 이벤트가 작동하지 않습니다.

Click 이벤트 :

link.onclick = onLinkClick; 

터치 이벤트 :

$('#sdiv').bind({ 
    'touchstart': function (e) { 
     onTouchStart(e, sdiv); 
    } 
}); 

$('#sdiv').bind({ 
    'touchend': function (e) { 
     onTouchEnd(e); 
    } 
}); 

$('#sdiv').bind({ 
    'touchmove': function (e) { 
     onTouchMove(e); 
    } 
}); 

$('#sdiv').bind({ 
    'touchcancel': function (e) { 
     onTouchCancel(e); 
    } 
}); 
+0

는'link' 요소는'#의 sdiv' 요소 내에인가? 그렇다면 터치 핸들러에서'event.preventDefault()'를 사용하지 않았는지 확인하십시오. – Ammar

+0

예'link'는'$ sdiv' 안에 있고'event.preventDefault()'도 사용했습니다. – ketan

+0

그래서 해결책을 얻었습니다. :) – Ammar

답변

0

마지막으로, 나는 두 플랫폼을 차별화, 아이 패드바탕 화면. 'navigator.platform'을 사용하는 경우 iPad 인 경우 터치 이벤트이 사용되며, 그렇지 않은 경우 클릭 이벤트이 표시됩니다. 모든

var platform = navigator.platform; 

if(platform == 'iPad') { _link.ontouchend = onLinkClick;} 

    else { _link.onclick = onLinkClick; } 

감사합니다,

관련 문제