2012-02-09 85 views
10

我目前正在探索适用于iOS设备的网络应用程序,并使用PhoneGap来创建“原生”应用程序。我遇到的问题是放大镜,我不想在选择段落(或文本位)时显示。我已经尝试了很多解决方案,但是下面的工作。我用这个CSS来禁用这些领域我wan't全部复制,选择和这样的:在iOS网络应用程序中摆脱放大镜

*[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; 
} 

这工作得很好,但它仍然显示magnifer /放大镜,当我请按住文本:

Touch + hold shows magnifier on text

有没有真正的解决方案呢?这将是一个简单的CSS属性,如-webkit-magnifier: none或类似的东西真棒。如果有JavaScript解决方案,那也可以,但也许是一种矫枉过正。

由于我使用PhoneGap并且它使用UIWebView来显示页面,所以可能有一种禁用放大镜的方法 - 但我没有在本地源代码中查找那么多。

预先感谢:-)

+0

这个工作非常适合我。我使用了CSS选择器*。谢谢。接受更多答案! – Prospero 2012-11-25 18:33:34

+0

hi fnky,我面临同样的问题,你是否找到了解决方法?谢谢 – 2014-08-27 21:45:31

回答

4

来完成此的唯一方法是,因为放大镜被结合以完全除掉选择的元素。 -webkit-user-select:none;应适用于您不希望放大镜出现的所有元素。

+0

你可以在'untouchable'元素中看到已经应用了'-webkit-user-select:none;'属性 - 为什么它不会起作用吗? – fnky 2012-02-13 19:21:17

+1

您还有-webkit-user-callout设置为无,因此我不确定您的问题可能是什么。请务必将这些属性设置为正确的元素,并检查CSS是否有错误。 – 2012-02-17 19:11:48

+1

我确认你们都需要“-webkit-user-callout:none;”和“-webkit-user-select:none;”禁用放大镜 – Max 2014-03-28 09:06:26

0

这是我用来

* { 
     -webkit-touch-callout: none; 
     -webkit-user-callout: none; 
     -webkit-user-select: none; 
     -webkit-user-drag: none; 
     -webkit-user-modify: none; 
     -webkit-highlight: none; 
} 
相关问题