84 votes

empêcher le clavier par défaut de l'iphone lors de la mise au point d'un<input>

c'est comme ça que j'essaye

 <script type="text/javascript">
     $(document).ready(function(){
        $('#dateIn,#dateOut').click(function(e){
            e.preventDefault();
        }); 
     });
</script>

mais l'entrée "lance" toujours le clavier de l'iphone

ps: je veux le faire parce que j'utilise le plugin datepicker pour la date

230voto

Rene Pot Points 10923

En ajoutant l'attribut readonly (ou readonly="readonly" ) au champ de saisie, vous devez empêcher quiconque de saisir quoi que ce soit dedans, mais toujours pouvoir lancer un événement de clic dessus.

Ceci est également utile sur les appareils non mobiles car vous utilisez un sélecteur de date/heure

11voto

nachomaans Points 180

Vous pouvez ajouter une fonction de rappel à votre DatePicker pour lui dire de brouiller le champ de saisie avant d'afficher le DatePicker.

 $('.selector').datepicker({
   beforeShow: function(){$('input').blur();}
});

Remarque : le clavier iOS apparaîtra pendant une fraction de seconde, puis se cachera.

3voto

John Vance Points 198

Comme je ne peux pas commenter le premier commentaire, je suis obligé de soumettre une "réponse".

Le problème avec la réponse sélectionnée est que la définition du champ en lecture seule retire le champ de l'ordre de tabulation sur l'iPhone. Donc, si vous aimez saisir des formulaires en appuyant sur "suivant", vous sauterez directement sur le champ.

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