2012-06-11 177 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; } 

感謝所有,