Я создаю React SPA. Я тестирую его на iPad (мобильное сафари).
Внизу есть перетаскиваемая полоса прокрутки. Если вы испортите свой жест перетаскивания (начните с сенсорного элемента, но заканчивайте где-нибудь в другом месте sh), то, вероятно, наступит период перезарядки, равный примерно полсекунде, прежде чем iPad примет любые другие сенсорные события (для любых элементов). Каждый раз, когда вы касаетесь в течение этого периода перезарядки, вы, кажется, продлеваете / сбрасываете его. Если вы не понимаете, что происходит, и продолжаете высовываться из этого, веб-сайт выглядит замороженным до тех пор, пока вы не дадите ему отдохнуть.
Вы также можете активировать это поведение, касаясь любого другого достаточно большого элемента (который onClick
Я предполагаю, что это своего рода мера, предотвращающая случайные прикосновения. У кого-нибудь есть какая-либо документация по этому поводу?
Я бы хотел найти способ отключить его для этого веб-приложения.
Возможно, актуально:
- Я использование
onClick
для событий касания - Я отключил масштабирование в браузере, используя (в приложении есть элементы управления для увеличения):
<meta
name="viewport"
content="width=device-width, initial-scale=1, user-scalable=no, maximum-scale=1"
/>
- Я отключил выбор текста используя:
.no-select {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Old versions of Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently supported by Chrome, Opera and Firefox */
}
...
<div className="App no-select"...