2012-06-11 120 views
1

我在页面链接上使用单击事件。它适用于iPad的Safari,但是当我在同一页面上使用触摸事件时,点击事件停止工作;只有触摸事件在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

最后,我区分两个平台,iPad的桌面。使用'navigator.platform',如果是iPad则触摸事件工程,否则点击事件

var platform = navigator.platform; 

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

    else { _link.onclick = onLinkClick; } 

感谢所有,