Desactivación de la selección de texto en PhoneGap
¿Es posible desactivar la selección de texto para hacer que una aplicación PhoneGap sea más similar a la aplicación nativa normal?
Algo como esto:
- Device.uuid undefined en PhoneGap en Android?
- ¿Cómo probar las capacidades de notificación push de la aplicación móvil en un emulador?
- Google Maps API v3 en PhoneGap: marcadores que no dibujan correctamente después de mover
- Auto Android sólo completa después de espacio?
- PhoneGap - No se puede escribir en archivo para Android
document.onselectstart = function() {return false;}
o:
* { user-select: none; -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select: none; }
O muchas otras cosas no funcionan.
- Compruebe la conexión a Internet en Android WebView (Córdoba)
- Error en cordova Cuando el tipo "cordova build android"
- android phonegap cordova webview eventos
- Aplicación móvil de JQuery comportamiento extraño
- Error: ENOENT, ningún archivo o directorio de este tipo - PhoneGap
- Ionic en Windows: Android SDK instalado. Sigue recibiendo "Error: Instala Android target:" android-22 "
- Acceder al almacenamiento interno de android con cordova file plugin
- Andorid cordova phonegap config.xml prefijo sin conexión
Busqué ayuda en esto. Esto finalmente funcionó para mí.
public class MainActivity extends DroidGap { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.loadUrl("file:///android_asset/www/index.html"); super.appView.setOnLongClickListener(new View.OnLongClickListener() { public boolean onLongClick(View v) { return true; } }); } }
El setOnClickListener es lo que hace la magia. Asegúrese de poner esto después de su llamada a super.loadUrl.
Por supuesto, esto desactivará la selección de texto para toda tu aplicación, pero estoy bien con eso, y no tengo otra forma de evitarlo por ahora.
No estoy seguro de las implicaciones completas de esto todavía, pero hago uso del evento JqueryMobile "taphold", y todavía funciona bien. Creo que esto funciona manejando el clic largo en el appView (que aloja su aplicación HTML) y evitando que burbujee.
Ponerlo en html
, no *
, funciona para mí:
html { -webkit-user-select: none; }
Además de lo que ThinkingStiff mencionó, también uso lo siguiente para eliminar cualquier resaltado / copiar y pegar
-webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0,0,0,0);
Esto funcionará también.
<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">
Añadir esto y disfrutar. Funciona en iOS también.
<style type="text/css"> *:not(input,textarea) { -webkit-touch-callout: none; -webkit-user-select: none; /* Disable selection/Copy of UIWebView */ } </style>
Recientemente actualizado a Android 4.4 kitkat y resolvió el problema de Edittext mostrando en taphold (prensa larga). Aparentemente edittext no aparece en taphold con jQuery móvil y phonegap en android 4.4. Estoy usando un rom personalizado de losp así que no he probado en una liberación oficial sino que estoy adivinando (y esperando) debe trabajar tan bien para cualquier lanzamiento 4.4. También parece haber resuelto otros conflictos que estaba teniendo con onclick que posteé a continuación.
Método más antiguo que encontré que funciona (con posibles problemas) para las viejas roms de ICS (probado solamente en la ROM de encargo 4.0.4).
Añadiendo una barra de desplazamiento
ejemplo:
<div id="scroll">content</div> <style> #scroll { height: 100%; width: 100%; } </style>
Deshabilita el EditText de hacer estallar en taphold (prensa larga) para phonegap y jquery móvil también. Todavía no estoy seguro de si esto causará conflictos (como parece tener algunos efectos con onclick que estoy buscando en la clasificación), pero con el texto regular debe funcionar bien .— Problemas resueltos con Android 4.4 y no hay necesidad de desplazamiento ya sea más. (Ver la parte superior de la publicación)
Para mí esto fue lo mejor:
-webkit-tap-highlight-color: rgba(0,0,0,0); tap-highlight-color: rgba(0,0,0,0);
Mi caso sucedió con pixi.js, con
plugins.interaction.autoPreventDefault = true;
* { -webkit-touch-callout: none; -webkit-user-select: none; } [contenteditable="true"] , input, textarea { -webkit-user-select: auto !important; -khtml-user-select: auto !important; -moz-user-select: auto !important; -ms-user-select: auto !important; -o-user-select: auto !important; user-select: auto !important; }
- Android 6.0 Marsmallow BLE: Parámetros de conexión
- Android proyecto de desgaste con 3 sabores, 3 buildTypes y 2 applicationIdSuffixes