Falsche Elemente werden während des momentanen Scrollens mit webkit-overflow-scrolling auf iOS aufgerufen

9

Seit einigen Tagen stecke ich mit webkit-overflow-scrolling touch fest. Ich versuche etwas sehr geradliniges zu tun - aber es erweist sich als schwierig!

Wenn ich auf ein bestimmtes Element klicke, möchte ich es mit JS aufnehmen und etwas damit machen. Wenn es jedoch in einem "webkit-overflow-scrolling: touch" div ist, scheinen die Elemente nicht mitzuhalten, sobald das Momentum-Scrolling von iOS in Kraft tritt. IE Ich scrolle, und während die Liste noch scrollt, tippe ich auf eine und es scheint auf ein falsches Element zuzugreifen? Idealerweise möchte ich herausfinden, wann das Scrolling mit Schwung begonnen hat und ob es noch läuft - ein Antippen beendet es einfach, anstatt zuerst ein Element auszuwählen, aber ich kann noch nicht einmal die Grundlagen zum Laufen bringen.

Ich teste das auf einem iPad 3 mit iOS 6.01. Es scheint nur, dass das Scrollen des Webkits sehr fehlerhaft ist, da das Onscroll-Ereignis auch temperamentvoll erscheint und manchmal zu anderen Zeiten als dem Ende des Scrollens ausgelöst wird, im Gegensatz zur universellen iOS-Nutzung.

Wenn jemand Ideen dazu hat, wie dieses Verhalten richtig funktioniert, ohne iScroll zu verwenden oder webkit-overflow-scroll auszuschalten, wäre es sehr zu empfehlen!

%Vor%     
andybarnes 03.01.2013, 14:55
quelle

2 Antworten

0

Ich habe gesehen, dass der Momentum-Scrolling in meinen Projekten ziemlich fehlerhaft ist. Bugs wie diese werden manchmal durch Hardware behoben, die die Elemente im Scroller beschleunigt. Probieren Sie das aus und sehen Sie, ob es für Sie funktioniert. Hier finden Sie weitere Informationen dazu, wie Elemente beschleunigt werden können: Ссылка

    
Trunal Bhanse 09.08.2013 06:15
quelle
0

Fast drei Jahre nachdem Sie das geschrieben haben, aber hier ist, wie Sie dieses Problem angehen. Versuchen Sie zunächst nicht, den Schwung des Impulses zu steuern. Sobald das Gerät in den Momentscrollvorgang (200 ms) eingetreten ist, sendet das Gerät keine Berührungsereignisse mehr an das Webview.

Dieser Code fügt ein touchend-Ereignis an, sobald das touchstartevent gefeuert wurde, und entfernt es in 150ms, so dass der "Tap" innerhalb von 150ms ausgelöst werden muss.

%Vor%

Hoffe das hilft:)

    
tnt-rox 03.11.2015 10:28
quelle

Tags und Links