在iOS网络应用程序中摆脱放大镜

时间:2012-02-09 20:51:53

标签: css ios html5 web-applications

我目前正在探索适用于iOS设备的网络应用,并使用PhoneGap从中创建“原生”应用。我对此的问题是放大镜,我不想在选择段落(或文本位)时显示。我已经尝试了很多解决方案,但是下位工作。我使用这个CSS禁用所有副本,选择等等我不想这样做的字段:

*[untouchable] {
    -webkit-user-drag: none;
    -webkit-user-modify: none;
    -webkit-highlight: none;

    -webkit-touch-callout:  none;
    -webkit-user-select:    none;
    -khtml-user-select:     none;
    -moz-user-select:       none;
    -ms-user-select:        none;
    -o-user-select:         none;
    user-select:            none;
}

这很好用,但是当我触摸并按住文字时它仍会显示放大镜/放大镜:

Touch + hold shows magnifier on text

这有真正的解决方案吗?使用简单的CSS属性(如-webkit-magnifier: none或类似的东西)会很棒。如果有一个JavaScript解决方案,那也没关系,但也许是一种矫枉过正。

由于我正在使用PhoneGap并且它使用UIWebView来显示页面,因此可能有一种方法可以禁用放大镜 - 但我没有在原生源中看到那么多。

提前致谢: - )

2 个答案:

答案 0 :(得分:4)

实现这一目标的唯一方法是完全放弃元素,因为放大镜已合并。 -webkit-user-select:none;应该应用于您不希望放大镜出现的所有元素。

答案 1 :(得分:2)

这是我用的

* {
        -webkit-touch-callout: none;
        -webkit-user-callout: none;
        -webkit-user-select: none;
        -webkit-user-drag: none;
        -webkit-user-modify: none;
        -webkit-highlight: none;
}