Предотвращение наложения серым цветом на сенсорный экран в мобильном браузере Safari / Webview

Я создаю приложение iOS в webkit, поэтому весь пользовательский интерфейс является веб-просмотром. на touchStart любого элемента возле внешней границы webview (который не имеет привязанного к нему события touchStart), я получаю полупрозрачный серый ящик, накладывающий всю область webview. Я устранил -webkit-tap-highlight-color или -webkit-touch-callout как причины. Что делать, чтобы удалить это поведение?

просто поместите этот стиль, у вас все еще есть действия по умолчанию, но без серого наложения

 a { -webkit-tap-highlight-color: rgba(0,0,0,0); } 

если вы хотите удалить панель действий, просто поставьте это

 a { -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-touch-callout: none; } 

И вот ты! чистые ссылки наконец!

Мое рабочее решение – это захват и предотвращениеDefault на событии touchstart в теле html-документа. Все другие более явные обработчики событий не затронуты. Я столкнулся с проблемой с элементами select , которые я рассмотрел в обработчике событий body (я использую jQuery):

 $('body').live( 'touchstart', function(e){ if(e.target.localName != 'select'){ e.preventDefault(); } } 

)

  • Не удалось воспроизвести WebKitLegacy - crash
  • WKWebView падает в ускоренном режимеAnimationDidStart
  • Ошибка теневого распространения в WebKit в iOS 7 на iPad Retina
  • HTML-разбивка на страницы
  • Что делает <meta name = "viewport" content = "width = device-width"> в ландшафтном режиме на iOS?
  • Webkit переполнения прокрутки Touch ошибка CSS на iPad
  • Удаленный console.log () на устройствах iOS
  • Каковы последствия использования неподдерживаемого свойства WebKit?
  • Поддерживает ли webKit в iOS 11 (бета) поддержку WebRTC?
  • Прокрутка Div иногда зависает, если я использую -webkit-overflow-scrolling
  • CSS3 - Анимация свойства margin-left через JavaScript
  • Давайте будем гением компьютера.