我正在webkit中构建一个iOS应用程序,所以我的整个UI都是一个webview.在webview外边界附近的任何元素的touchStart上(没有绑定到它的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; }
你去吧!最后清理链接!
我的工作解决方案是捕获和阻止对touchstart
html文档正文事件的默认.所有其他更明确的事件处理程序不受影响.我确实遇到了select
元素的问题,我在body事件处理程序中解决了(我使用的是jQuery):
$('body').live( 'touchstart', function(e){ if(e.target.localName != 'select'){ e.preventDefault(); } }
)