在Android 4.1.2上点击Phonegap 3.0应用程序中的元素时,我遇到了完全摆脱可怕的突出显示的问题。
当点击一些元素时,我首先在点击的元素下得到一个橙色的高亮显示(在本例中),但随后快速连续的父元素(或另一个祖先元素,不确定是哪一个)也会高亮显示!
我知道点击突出显示可以被setting a transparent color“禁用”
* {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent; /* For some Androids */
}
这实际上适用于我的应用程序中的大多数可点击元素,但在某些元素上,父元素/祖先元素仍然突出显示!我已经创建了一个,它显示了它在我正在测试的设备(三星Galaxy S3)上的外观。是啊,没错。我使用jsfiddle作为动画工具:-)
我已经尝试了另一个帖子中讨论的所有内容:Disable orange outline highlight on focus。
由于使用上面的css规则点击的所有元素上的点击突出显示实际上都消失了,我开始怀疑这个次要的较大突出显示表示的不是点击。但我尝试将css规则扩展到也适用于*:hover, *:active, *:focus
,但没有成功。
我还试图在css之外和Android应用程序本身解决这个问题。WebSettings中的第一个setLightTouchEnabled()似乎很有前途,但A)它不工作,B)从API18开始它是过时的,没有效果。
我真的不知所措。任何帮助都将不胜感激。
发布于 2013-09-28 03:56:00
发布于 2013-09-25 06:02:52
你应该能够去掉那些轮廓和边框,并将'outline‘属性添加到现有的css中:
* {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent; /* For some Androids */
outline: 0;
}
可选的,添加!重要到每一行,因为很明显phonegap也需要一些默认的样式。
发布于 2013-09-23 20:40:51
在你的例子中,试试这个,
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
将这里的alpha值设置为零应该会使其“不可见”。
还有一些更多的代码行可以让它更好地工作,
请参考更新后的fiddle
中的.link
类
.link {
display: block;
padding: 5px;
border-style:none;
outline-style:none;
-webkit-appearance: textarea;
-webkit-tap-highlight-color: rgba(255,255,255,0);
-webkit-tap-highlight-color: transparent;
}
其他事情保持不变..
此外,在(特别是iPhone)的情况下,我已经看到您我们从活动中返回。
与jQuery
中的preventDefault
相同,因此在phoneGap中也可以这样做,因为它也是基于JS的框架。
<a class="link"
href="javascript:void(0);"
ontouchstart="return true;"></a>
我想这样就可以了,如果没有完成,请尝试并回复..
https://stackoverflow.com/questions/18894124
复制相似问题