108 votes

Désactiver la mise en évidence du contour orange lors de la mise au point

Je suis en train de coder une application utilisant jQuery, jqTouch et phonegap et j'ai rencontré un problème persistant qui survient lorsqu'un utilisateur soumet un formulaire en utilisant le bouton "Go" du clavier souple.

Bien qu'il soit facile de faire en sorte que le curseur se déplace vers l'élément de saisie du formulaire approprié en utilisant la fonction $('#input_element_id').focus() la mise en évidence du contour orange revient toujours au dernier élément de saisie du formulaire. (La surbrillance ne s'affiche pas lorsque le formulaire est soumis à l'aide du bouton d'envoi du formulaire).

Ce dont j'ai besoin, c'est de trouver un moyen soit de désactiver complètement la surbrillance orange, soit de la faire se déplacer vers le même élément d'entrée que le curseur.

Jusqu'à présent, j'ai essayé d'ajouter les éléments suivants à mon CSS :

.class_id:focus {
    outline: none;
}

Cela fonctionne dans Chrome mais pas sur l'émulateur ou sur mon téléphone. J'ai également essayé de modifier le fichier jqTouch theme.css à lire :

ul li input[type="text"] {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); and
    -webkit-focus-ring-color:  rgba(0, 0, 0, 0);
}

Sans aucun effet. J'ai également essayé chacun des ajouts suivants à la page AndroidManifest.xml archivo:

android:imeOptions="actionNone"
android:imeOptions="actionSend|flagNoEnterAction"
android:imeOptions="actionGo|flagNoEnterAction"

Aucun d'entre eux n'a d'effet.

Mise à jour : J'ai fait un peu plus de dépannage avec ceci et à ce jour j'ai trouvé :

  1. La propriété outline ne fonctionne que sur Chrome, pas sur le navigateur Android.

  2. Le site -webkit-tap-highlight-color La propriété fonctionne en fait sur le navigateur Android, mais pas sur Chrome. Elle désactive la mise en évidence au moment de la mise au point ainsi qu'au moment du tapotement.

  3. Le site -webkit-focus-ring-color ne semble pas fonctionner sur les deux navigateurs.

212voto

Baggz Points 6836

Essayez :

-webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
-webkit-tap-highlight-color: transparent;  // i.e. Nexus5/Chrome and Kindle Fire HD 7''

10 votes

Il ne fonctionne pas avec Android 4.0.4 - quelqu'un a rencontré le même problème ? (il fonctionne sur les versions précédentes et 4.1)

6 votes

Android 4.0.4 fonctionne avec : -webkit-user-modify : read-write-plaintext-only ;

0 votes

@oori c'est le cas, mais cela "casse" iOS en faisant apparaître le clavier.

45voto

sergey_c Points 128

Fonctionne sur Android Default, Android Chrome et iOS Safari à 100%.

* {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important; 
    -webkit-focus-ring-color: rgba(255, 255, 255, 0) !important; 
    outline: none !important;
}

1 votes

Ceci devrait être la réponse choisie

0 votes

Au lieu d'utiliser * vous pouvez simplement utiliser button si votre problème concerne les boutons, par exemple.

36voto

yesil Points 339
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);  
} 

dans votre fichier css. Cela a fonctionné pour moi !

18voto

oori Points 1663

Suppression de la boîte orange sur le focus de la saisie pour les Androïdes

textarea:focus, input:focus{
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);    
    -webkit-user-modify: read-write-plaintext-only;
}

tap-highlight-color pour la plupart des versions

utilisateur-modifier pour 4.0.4

0 votes

Je cherche un correctif [Android 4.1.2] depuis quelques jours maintenant. C'est le seul qui a fonctionné. Un grand merci !

0 votes

@Ben la réponse ci-dessus fonctionne à coup sûr... faites un plunkr/jsfiddle avec votre code, afin que nous puissions voir et vous aider.

0 votes

@Ben user-modify pour 4.0.4 n'est pas une bonne solution toute autre solution si vous avez alors s'il vous plaît le partager.

12voto

Ravi Desai Points 148

Essayer pour la ligne de mise au point

body, textarea:focus, input:focus{
    outline: none;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

0 votes

Solution fonctionnant uniquement pour les appareils Android 4.2 et similaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X