Правильное поведение сенсорных кнопок для MobileSafari

MobileSafari, как правило, имеет некорректное поведение кнопки HTML (неверное значение: «не похоже на собственную кнопку iOS»). Правильное поведение кнопки выглядит следующим образом:

Пользователь касается кнопки: подсветка кнопокПользователь вытаскивает палец из кнопки: кнопка тускнеетПользователь перетаскивает палец назад в кнопку: Подсветка кнопокПользователь вытаскивает палец из кнопки и отпускает: Кнопкане щелкает

Кнопки MobileSafari выделяются при касании их, остаются выделенными независимо от того, куда вы перемещаетесь, и нажимают, независимо от того, где вы отпускаете их (если только просмотр не прокручивается, в этом случае касание всегда отменяется, даже если вы повторно вводите кнопку).

Эта проблема относится ко всем активным элементам, таким как ссылки (когда-webkit-touch-callout установлен вnone). Пока я нашел только одно веб-приложение с правильным поведением кнопок: Facebook. Если посмотреть на их код, похоже, что они сделали много прыжков, чтобы заставить его работать правильно (отслеживая все события мыши вручную и вообще не используя кнопки). Код плотный, использует Javelin, и я пока не совсем разбираюсь во всех частях, необходимых для его работы.

Я знаю, что я шучу (так как если бы это было легко, все бы так сделали), но я все равно спрошу. Есть ли общедоступный кусок кода, который обрабатывает эту функцию? Есть ли более простое решение, чем обратный инжиниринг Javelin, даже если оно применимо только к WebKit? (Javelin не очень хорошо подходит для моих легких потребностей.) Моя конечная цель - правильное поведение кнопки дляUIWebView встроенные в собственное приложение, поэтому гибридные решения JavaScript / ObjC также приемлемы (хотя на ум не приходят гибридные подходы).

Ответы на вопрос(1)

Ваш ответ на вопрос