2013-01-24 57 views
9

我一直在四處搜尋,以瞭解在網頁上的iPad上滾動時觸發的事件。iPad滾動 - 滾動期間觸發了哪些事件?

有這個來源: https://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariWebContent/HandlingEvents/HandlingEvents.html

指示以下被解僱:

ontouchstart="touchStart(event);" 

ontouchmove="touchMove(event);" 

ontouchend="touchEnd(event);" 

ontouchcancel="touchCancel(event);" 

的問題是如何應對的勢頭滾動當用戶輕彈滾動。我認爲滾動結束時只會觸發onsroll事件。

有沒有人知道在動量滾動發生時是否觸發了任何事件,因此您可以在頁面在此「動量」下滾動時執行檢查?

歡呼聲

+3

您是否檢查過動量滾動過程中窗口上的「滾動」事件是否觸發?例如:'$(window).scroll(function(){console.log('scrolling')});' –

+0

目前無法[打開開發控制檯](http://superuser.com/questions/614671 /如何在iPad上打開開發者控制檯 - 在Chrome上)。但是,從我有限的經驗來看,當窗口動態滾動時它不會觸發。 –

+0

您可以使用Safari Web Inspector在iOS上調試Safari。這種能力已經[有一段時間了。](https://webdesign.tutsplus.com/articles/quick-tip-using-web-inspector-to-debug-mobile-safari--webdesign-8787) – bvpb

回答

2

問題是在iPad上滾動不會持續激發。當您停止滾動時,它只會觸發一次。據我所知,你無法解決這個問題。

在桌面上,情況並非如此。在滾動瀏覽器的過程中,不斷觸發滾動事件。

當我在一個視差滾動網站上工作時,我注意到了這種行爲。在iOS上,一切都結結巴巴,因爲滾動事件只能觸發一次。

然而,它是可能這裏描述模擬:javascript scroll event for iPhone/iPad?

0

使用此代碼

document.addEventListener('touchmove', function(e) {console.log('touch move', $(window).scrollTop())}, true); 

它即使在觸摸火災。