我正在webkit中构建一个iOS应用程序,因此我的整个UI都是一个webview。在webview外边界附近的任何元素的touchStart上(没有绑定到它的touchStart事件),我得到一个半透明的灰色框覆盖webview的整个区域。我已将-webkit-tap-highlight-color
或-webkit-touch-callout
排除在原因之外。如何删除此行为?
答案 0 :(得分:73)
只需放置此样式,您仍然可以使用默认操作但不使用灰色叠加
a {
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
如果你想删除动作面板,只需把这个
a {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
}
你去吧!最后清理链接!
答案 1 :(得分:7)
我的工作解决方案是捕获并阻止对html文档正文的touchstart
事件的默认。所有其他更明确的事件处理程序不受影响。我确实遇到了select
元素的问题,我在body事件处理程序中解决了这个问题(我正在使用jQuery):
$('body').live(
'touchstart',
function(e){
if(e.target.localName != 'select'){
e.preventDefault();
}
}
)