2009-06-16 13 views
2

Ich versuche zu verhindern, dass Element in Safari auf dem iPhone scrollen. Ich habe versucht, Lösungen hier erwähnt: iPhone Safari: Scroll a list inside a html container Aber meine Liste ist groß und es funktioniert nicht so reibungslos.erhalten Ansichtsfenster Position in Javascript in iPhone Safari

Was ich im Sinn habe ist zu erkennen, Onscroll-Ereignis und das Element neu positionieren, so dass es in den Grenzen des Ansichtsfensters ist.

Aber ich finde keine Möglichkeit, Koordinaten des Ansichtsfensters zu erkennen. Kann mir jemand helfen?

Danke.

Antwort

0
document.addEventListener(
    'touchmove', 
    function touchMove(event) { 
     event.preventDefault() 
    }, 
    false 
); 
+0

ich glaube, Sie auch event.stopPropagation benötigen() –

0

Werfen Sie einen Blick auf iScroll. Wenn dies nicht der Fall ist, können Sie die Implementierung als Referenz verwenden. Ich denke, der Trick ist also, sowohl als auch event.stopPropagation() zu tun, um mobile Safari davon abzuhalten, auf Berührungsereignisse zu reagieren.

iScroll geboren wurde, weil mobile Webkit (auf iPhone, iPod, Android und Pre) haben einen nicht bieten nativer Weg, um Inhalte innerhalb eines festen Breite/Höhe Elements zu blättern. Diese unglückliche Situation verhindert, dass Web-App eine Position haben: absolute Kopf- und/oder Fußzeile und eine scrollende zentralen Bereich für Inhalte.

0
var viewport_x = window.pageXOffset; 
var viewport_y = window.pageYOffset; 
+0

Dies sollte 'window.pageXOffset' sein und' window.pageYOffset' –

Verwandte Themen