Я сделал приложение, используя JQtouch, Jquery и PhoneGap. Когда вы вводите текст в поле формы, вся страница прокручивается вверх или вниз каждый раз, когда вы вводите символ. Я везде искал решения, но не нашел. Здесь была похожая проблема: https://github.com/jquery/jquery-mobile/issues/638 но его решение не решило мою проблему.

Кто-нибудь знает, почему страница будет прокручиваться вверх и вниз с каждым добавленным символом в текстовом поле? Поскольку страница такая маленькая, она быстро прокручивается вверх и вниз, что очень раздражает.

7
PongPinger 21 Фев 2011 в 21:00
Если это JQtouch, Jquery, and PhoneGap, то я думаю, вы не используете мобильную платформу jquery. Удаление тега.
 – 
naugtur
21 Фев 2011 в 23:28
Что касается решения - похоже на ошибку обработки событий. Попробуйте добавить некоторые визуальные выходные данные в обработчики событий (например, запись текста в тело), ​​чтобы увидеть, что вызывается. Кроме того, убедитесь, что вы используете последние версии материалов. Если вы это сделаете, попробуйте jquery 1.4.3 и 1.4.4 (но это не должно быть проблемой)
 – 
naugtur
21 Фев 2011 в 23:31

4 ответа

Попробуйте это в функции инициализации, называемой onload :

Function preventBehavior(e) { e.preventDefault(); }; document.addEventListener ("touchmove", preventBehavior, false);

Дополнительные обсуждения на странице http://groups.google.com/group/phonegap/browse_thread. /поток/739525b7531b6d29/

0
Paul Beusterien 22 Фев 2011 в 19:15

Я столкнулся с той же проблемой на Android 2.2. Я поместил следующие свойства в свой CSS, а затем обнаружил, что проблема была решена. Что имело значение; Не знаю, но у меня работает:

html, body{overflow: hidden;}

Попробуйте это, это может сработать и для вас.

0
Waynn Lue 7 Мар 2012 в 15:39
1
Это предотвратит прокрутку пользователем вообще.
 – 
ty.
23 Июн 2011 в 02:43

Я использую новую бета-версию (jqtouch-1.0-b4-rc), и с ней я не смог заставить эти трюки работать ни на Android 2.2, ни на 2.3. В конце концов я исправил это, включив в свой CSS следующее:

#jqt ul li {
    -webkit-transform: none;
    position: relative; /* required to fix arrows */
}
#jqt ul li a {
    -webkit-transform: none;
}
0
Mark Rhodes 3 Фев 2013 в 19:44

Поместите следующий CSS в свой файл после всех остальных стилей CSS:

    body {
        -webkit-perspective: none;
        -webkit-transform-style: flat;
    }
    body > * {
        -webkit-backface-visibility: visible;
        -webkit-transform: none;
    }

Это должно решить вашу проблему (по крайней мере, это было для меня).

6
Falko Timme 29 Апр 2011 в 12:48
Вау, это выше меня. Вчера этот кусочек CSS спас мне жизнь, а теперь вдруг перестал работать. Слишком странно
 – 
Menno Bieringa
18 Янв 2013 в 00:37
Отлично, это исправило это для меня под iOS.
 – 
BlinkyBill
12 Июл 2013 в 09:13