当前位置:   MFC > 正文

在移动Safari/Webview中防止touchstart上的灰色叠加

webkit,mobile-safari,ios,webview,safari,html,jquery,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我正在webkit中构建一个iOS应用程序,所以我的整个UI都是一个webview.在webview外边界附近的任何元素的touchStart上(没有绑定到它的touchStart事件),我得到一个半透明的灰色框覆盖webview的整个区域.我已经消除-webkit-tap-highlight-color-webkit-touch-callout作为原因.如何删除此行为?



1> Kornelius..:

只是把这种风格,你仍然有默认的动作,但没有灰色叠加

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

如果你想删除动作面板,只需把它

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

你去吧!最后清理链接!


这太棒了,你能告诉我你是怎么发现的吗,我一直在搜索一个webkit前缀/伪类的列表,用于safari mobile但什么都没发现.
奇迹般有效.我用*{-webkit-tap-highlight-color:rgba(0,0,0,0); 从一切中删除它

2> Andrew Shoon..:

我的工作解决方案是捕获和阻止对touchstarthtml文档正文事件的默认.所有其他更明确的事件处理程序不受影响.我确实遇到了select元素的问题,我在body事件处理程序中解决了(我使用的是jQuery):

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

)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号