2014-02-11 95 views
2

如討論here in the apple forum當在列表上使用webkit-overflow-scrolling: touch時,觸摸識別會中斷。ios,webkit溢出滾動:滾動列表上的觸摸識別中斷

  1. 啓動滾動
  2. 觸摸列表元素,而名單還在滾動

元素被觸摸並不是唯一的真正打擊,但在步驟1中的一個觸摸啓動滾動。我試圖使用iScroll複製本機滾動,但失敗了。滾動非常緩慢並且非常不可用。儘管等待列表停止,還有什麼辦法可以解決嗎? :(Thx提前

編輯

解決方法現在:

支票通過滾動:

$('.myList').on('touchmove', function(event { 
    App.set('scroll', true); 
}); 

拒絕滾動後的第一次觸摸:

click : function(event) { 

    if (App.get('scroll')) { 
    App.set('scroll', false); 
    return false; 
    } else { 
    this.performClick(); 
    return true; 
    } 
} 

現在所有的ios用戶都需要觸摸兩次.. 。是否有辦法捕捉第一個觸摸的座標並在相同的座標處模擬第二個觸摸?

回答

0

我從你的描述中瞭解到,你有一個鋸齒狀的滾動效果。我認爲你可能有懸停事件,而不是觸摸和滾動事件。

如果您將:hover設置爲列表項(或其任何父元素或子元素),則會影響您的觸摸。觸摸設備將首先模擬懸停效果,然後模擬您的點擊/滾動事件。這導致了一個鋸齒狀的滾動。清除所有:懸停狀態並再次檢查是否遇到同樣的問題。

我寫了一篇關於響應式設計的詳細文章和演示文稿。你可以找到它here。請檢查第8,9和12部分。

0

在我的情況下,簡單地用-webkit-overflow-scrolling: touch;打包列表與額外的div,有助於克服這個問題。

相關問題