Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
708 views
in Technique[技术] by (71.8m points)

css - IOs Cordova long-press shows text-select magnifying glass even with text-selection disabled, how to remove?

I have a very weird problem. In my cordova app on iOS I am getting a pop-up text-select magnifying glass when I long-press anywhere in the app.

Example:

Screenshot showing the select-popover

The bubble at the top is locked to the top of the screen, and follow my x-position when moving my finger from side to side.

I have tried to add the following css which people say should fix my issue:

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

This does not help. Looking at things in the web-inspector, I can confirm that this css is successfully added to everything. I have tried a bunch of different variation of the normal touch-callout: none and user-select: none everyone suggest and nothing seem to help.

I have also tried to remove all javascript and all CSS except a simple variation of the above mentioned, and the magnifying glass still appears.

How can I get it to go away? Is there any plugin that can be causing this issue? Any help is much appreciated.

Cordova plugins:

  • com.mbppower.camerapreview
  • cordova-plugin-statusbar
  • cordova-plugin-whitelist
  • ionic-plugin-keyboard
  • org.apache.cordova.camera
  • org.apache.cordova.console
  • org.apache.cordova.device
  • org.apache.cordova.dialogs
  • org.apache.cordova.file
  • org.apache.cordova.file-transfer
  • org.apache.cordova.network-information
  • org.apache.cordova.vibration

Cordova version: 5.1.1 iPhone 5s with iOS version: 9.0.1

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Thank you for that Automatico! Saved me from a lot more frustration.

Since then however it looks like that code has been merged into mainline cordova and can just be enabled by adding

<preference name="SuppressesLongPressGesture" value="true" /> to config.xml

That worked perfectly for me!

Here is the commit and notes that brought it in

https://github.com/apache/cordova-ios/commit/1ad9951c80dbf97281e763f5f27a9bc8852c0537


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...