2012-01-09 92 views
2

我使用jQuery MobileScrollview。對於我來說,這是一個完美的解決方案,就我對jQuery Mobile中的滾動函數有一些不好的經驗,並再次使用一個名爲iScroll的插件而言。jQuery Mobile和Scrollview自動啓用滾動內容div

我唯一的問題是,現在所有div標籤有data-role="content"自動啓用滾動,這是一些最終的問題,其中一些觸摸事件不會觸發,因爲觸摸必須作爲滾動捕獲。

這些錯誤只出現在兩個內容頁面上,這兩個頁面甚至不需要滾動。我可以通過設計在所有內容上滾動,但有沒有辦法禁用某些div標籤的滾動功能?

+0

我也有興趣。任何人? – Dennis 2012-01-10 02:03:33

回答

0

我花了很長時間試圖各種各樣的事情,但總的想法是,我想一類,我可以使用停止滾動該內容div(noscroll)。

覆蓋addClass方法來防止添加ui-scrollview-view類在其他地方導致了很多錯誤。我不知道爲什麼,可能是頁面上的另一個插件試圖重寫它呢?

最終我不得不手動更改scrollview.js,因爲它發生的只是一個小文件。在第19行,有一個選擇器可以選擇data-rolecontent的所有元素。在選擇器之後,我添加了.not('.noscroll')

快速更改,我確保我注意到我無處不在,我可以改變這個文件從原來的。但經過5個小時試圖找到更好的解決方案,我已經解決了!

0

我有同樣的問題,我可以使用此解決方案(THX Dessus)解決它:

我想你可能會發現,該事件在滾動視圖控制消耗。您可以覆蓋該控件的JavaScript處理程序以允許它繼續冒泡。

覆蓋您可以使用這種技術的功能:重寫JavaScript函數,同時參照原

有一個快速瀏覽一下文件,它看起來像這種方法可容納線索,你想要什麼:

_handleDragMove:功能(例如,EX,EY)

具體:

變種svdir = this.options.direction;如果(this._directionLock!)

我用這裏顯示的滾動型的版本:http://jquerymobile.com/test/experiments/scrollview/scrollview-nested.html

+0

我試過這個addClass函數,但它打破了一些addClass調用,我永遠不能解決它。我最終修復了這個問題,當我到達一臺PC時(電話atm),我會發布解決方案 – Connell 2012-01-10 08:24:18

1

我挖掘了源代碼並找到了解決方法。該插件使用類「ui-scrollview-clip」過濾掉div。 HTH。

+0

好的解決方案!謝謝! – 2012-06-28 22:33:46

-1

嘗試反轉滾動方向。如果您有水平滾動視圖,請執行以下操作:

$('#yourid').scrollview({ direction: 'y' }); 

而'x'表示垂直scrollView。 更改方向以再次啓用滾動。

+0

這是如何禁用滾動? – 2012-10-20 18:54:28