android cordova textselection

android - Desactivar la selección de texto en PhoneGap



cordova textselection (9)

Además de lo que mencionó ThinkingStiff, también uso lo siguiente para eliminar cualquier resalte / copiar y pegar

-webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0,0,0,0);

¿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:

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.


Agrega esto y disfruta. 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>


Busqué ayuda en todo 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 deshabilitará la selección de texto para toda su aplicación, pero estoy de acuerdo con eso, y no tengo otra alternativa por el momento.

Todavía no estoy seguro de las implicaciones completas de esto, pero sí uso el evento "taphold" de JqueryMobile, y todavía funciona bien. Creo que esto funciona al manejar el clic largo en el appView (que aloja su aplicación HTML) y evitar que burbujee.


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 pasó con pixi.js, con

plugins.interaction.autoPreventDefault = true;


Ponerlo en html , no * , funciona para mí:

html { -webkit-user-select: none; }


Recientemente actualizado a Android 4.4 kitkat y resolvió el problema de Edittext que aparece en taphold (pulsación larga). Aparentemente, edittext no se muestra en taphold con jquery mobile y phonegap en Android 4.4. Estoy usando un aosp rom personalizado, por lo que no he probado en un lanzamiento oficial, pero estoy adivinando (y espero) que funcione también para cualquier versión 4.4. También parece que resolvió otros conflictos que estaba teniendo con onclick que publiqué a continuación.

Me encontré con un método más antiguo que funciona (con posibles problemas) para roms antiguos de ICS (solo probado en 4.0.4 rom personalizado).
Al agregar una barra de desplazamiento

ejemplo:

<div id="scroll">content</div> <style> #scroll { height: 100%; width: 100%; } </style>

Deshabilita EditText para que aparezca en taphold (pulsación larga) para phonegap y jquery mobile también. Aún no estoy seguro de si esto causará algún conflicto (ya que parece tener algunos efectos con onclick que estoy buscando en la solución) pero con el texto normal debería funcionar bien .--- Problemas solucionados con Android 4.4 y ya no es necesario desplazarse. (ver arriba de la publicación)


Utilicé el código siguiente y funciona bien en dispositivos Android e iOS, así como en emulador / simulador:

* { -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } input, textarea { -webkit-user-select: auto !important; -khtml-user-select: auto !important; -moz-user-select: auto !important; -ms-user-select: auto !important; user-select: auto !important; }


esto funcionará también

<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">


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