Я узнал об этом, когда сам пробовал. Прежде всего вы должны добавить это правило к включающему элементу:
-webkit-user-select: none;
Но этого на iPhone недостаточно. Оказывается, увеличительное стекло все еще может появляться, потому что, например, родительский элемент будет принимать выбор, или просто потому, что это похоже на него.
Однако затем я обнаружил кое-что классное - если ваш элемент добавляет к элементу обработчик touchend
и click
, то Apple Safari, наконец, избегает раздражающего пути кода, который вызывает появление увеличительного стекла, вероятно, понимая, что этот элемент предназначен для некоторого взаимодействия пользовательского интерфейса, а не выделения текста. На такой же замечательной ноте, если вы сделаете это для элементов в верхней части экрана, это также отменит появление навигации в ландшафтном режиме! Однако не уверен, как отменить появление навигации при нажатии на элементы в нижней части, есть ли у кого-нибудь решение для этого?