CSS touch-action: не всегда отключение в приложении Cordova - PullRequest
0 голосов
/ 03 мая 2018

Вопрос

Чего мне не хватает в моем CSS, чтобы сделать результаты более согласованными, чтобы в моем приложении Cordova не было сенсорных действий?


Я создаю приложение с помощью Cordova (тестирование на Android). У нас был полный выбор страницы, который не должен прокручиваться, поэтому я использовал touch-action: none в CSS. Но это все еще прокручивает, но только иногда.

CSS

body {
    touch-action: none;
}

Теперь я показываю разные «страницы», включая / отключая разные div в html. И что меня очень смущает, так это то, что когда он переходит на первую страницу, он прокручивается ... один раз! И только один раз. Поэтому я могу коснуться экрана и перетащить страницу вверх / вниз, отпустить, и я не могу снова прокрутить.

НО. Я иду на вторую страницу, и она будет делать то же самое. Это позволит мне прокрутить один раз, но любые дальнейшие сенсорные события игнорируются.

Проблема в том, что мой необычный HTML-селектор страдает от этого. Где это будет работать, но периодически допускайте прокрутку страницы, когда это не должно происходить.

Насколько я понимаю, «сенсорное действие: ни один» должно убить все сенсорные события на Android, а не только некоторые из них.

1 Ответ

0 голосов
/ 03 мая 2018

После дальнейших раскопок я смог решить эту проблему.

Быстрый ответ. touch-action: none; отлично.

Что было не хорошо, так это то, что я использовал инструменты удаленного разработчика Chrome для подключения к устройству и просмотра консоли. Чтобы увидеть, что происходит с приложением во время выполнения. Поскольку вы можете прикоснуться к приложению с помощью инструментов разработчика, я предполагаю, что ему удалось запутать события касания. Как в случае игнорирования touch-action:none и принудительных действий касания. Даже если вы прикоснулись только к реальному устройству, а не к устройству «sim» с помощью инструментов разработчика, оно все равно приводило к ошибкам касания.

Итак, решение. Вы можете использовать инструменты разработчика, чтобы убедиться, что вы правильно добавили CSS. Затем закройте инструменты разработчика для устройства и снова запустите его в cordova, используя cordova run android, и не подключайтесь, используя инструменты разработчика.

Я потратил два рабочих дня, пытаясь решить эту проблему. (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...