2011-11-04 45 views
2

我很好奇,如果有人發現了一個解決方案,當用戶在頁面上拖動手指時禁用默認的彈簧加載iOS頁面移動。對於完全可見的頁面(即,不需要滾動),頁面移動並彈回原位。用於停止頁面動作的iOS Safari標誌?

我發現禁用「touchstart」會有效解決這個問題,但它會打破所有的點擊事件!?!例如:

document.addEventListener('touchstart', function(e) { 
    e.preventDefault(); 
}, false); 

我試過其他的觸摸/鼠標事件,但沒有運氣。我猜猜那裏有人知道可以禁用此功能的祕密webkit CSS或JavaScript屬性。

編輯:作爲我正在尋找的示例,下面是通過CSS禁用其他默認iOS Webkit行爲的類似答案。不幸的是,這些似乎並不適用於我的問題:

Prevent default Press but not default Drag in iOS MobileSafari?

回答

2

我可以發誓,我想這一點,但它似乎「touchmove」的伎倆?

document.addEventListener('touchmove', function(e) { 
    e.preventDefault(); 
}, false); 

更新:更多的測試後,是的,這事實上確實做的伎倆。看起來好像在'touchstart'上永遠不應該有e.preventDefault(),因爲這也會阻止後面的所有其他鼠標事件。