2013-05-03 67 views
1

在移動設備上,如果存在項目列表並且用戶觸摸了其中一項,則突出顯示該項目以指示用戶正在觸摸它。但是,一旦用戶開始滾動(向上或向下滑動),突出顯示就會消失,因此用戶知道在釋放手指時他們不會再激活該按鈕。jQuery - 檢測滾動量

我想在手機上做類似的事情,所以我需要檢測元素何時滾動,以便刪除列表項上的高亮區。然而,jquery scroll事件似乎與touchbegin同時被觸發,而不是當元素實際上滾動時。所以爲了這個工作,我需要檢測幾個像素的滾動,然後刪除突出顯示。什麼是我實現這個目標的最好方法?

+0

應該可以使用jQuery管理高亮類,並在滾動時刪除該類。謝謝.scroll() – nicolas 2013-05-03 00:24:10

+0

這就是我目前正在做的,但似乎滾動觸發後立即被觸發,因此高亮立即被刪除 – Brad 2013-05-03 00:40:40

+0

哦,對不起,快點讀。看起來像 - 就像你說的 - 你別無選擇,只能檢測scrollTop在ordre中是否發生了顯着變化,以確定它是單擊還是滾動......您可以將scrollTop存儲在mouseDown事件中,並將其與* .scroll()進行比較。功能? – nicolas 2013-05-03 00:50:42

回答

2

我發現了一個解決方案,touchcancel事件工作得很好,因爲它在滾動開始時被觸發。