Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

)