1

Je crée l'application Windows Phone 8.1 en utilisant javascript et j'ai créé un clavier personnalisé pour mon application, mais quand jamais je clique sur les champs de saisie/texte windows clavier du téléphone apparaît. Je veux le désactiver pour mon application uniquement.Comment désactiver le clavier du téléphone Windows?

je fait quelque chose ce

<body id="body"> 
<textarea id="input" onclick="loseFocus()"></textarea> 
<script> 
function loseFocus(){ 
    document.getelementById("body").focus(); 
} 
</script> 
</body> 

Mais sa ne fonctionne pas comme je veux .. comme il perd le focus il curseur et les pertes clignotantes ne sont pas capables d'écrire dans textarea

Mise à jour Je pensais que de le faire d'une nouvelle manière. J'utilise iframe au lieu de textarea et d'éditer iframe ou d'un texte d'entrée dans ce que je suis en utilisant la propriété innerHTML

et un événement onClick apparaît mon clavier personnalisé maintenant le problème est que je veux le curseur clignotant dans une iframe où jamais i » m y travaille

Répondre

2

Si vous réglez le focus sur un autre élément de l'interface utilisateur, alors il perdra évidemment le curseur clignotant bien que le clavier soit parti. Comme vous ne pouvez pas désactiver le clavier lors de l'utilisation TextBox vous pouvez faire un truc comme this

+0

Je mets à jour ma question avec une logique et de l'aide avec ça? –

2

Le problème que vous rencontrez est que le contrôle de la zone de texte sur l'événement de mise au point est intercepté par le téléphone lui-même et il apporte le haut du clavier.

En bref, il n'y a AUCUN moyen de contourner cette fonctionnalité. Cependant, il existe une méthode alternative. Construisez votre propre contrôle de textbox .... Cela semble fou au début, mais est-ce? Pas vraiment. Je construis des contrôles personnalisés tout le temps au travail. D'accord, ils sont généralement une combinaison d'autres contrôles prédéfinis, mais ils n'en sont pas moins des UserControls.

Pensez donc à ceci, comment créer le vôtre?

Je ne suis pas sûr si vous êtes capable d'utiliser des éléments XAML dans votre projet ou non. Cependant, si vous êtes ici, c'est comment le faire avec un contrôle utilisateur. Sinon, vous devrez rechercher comment créer des contrôles Web personnalisés. Probablement un mélange de CSS et HTML

Commencez par quelque chose de simple comme celui-ci

<Grid> <--- Handle your tap event 
    <Border> 
    <TextBlock> <-- Databind this to a string property in your back end code 

Demandez à votre grille gérer votre événement du robinet.

Pensez à XAML comme un gâteau upsidown. Lorsque vous tapez sur le Textblock, si le robinet n'est pas manipulé, il va sur la frontière, puis la grille. Donc, si vous avez votre grille gérer le robinet, il va consommer les robinets intérieurs aussi bien.

Alors, que faites-vous lors de votre événement de tap?

Eh bien, c'est ici que vous présentez votre clavier personnalisé. Vous allez vouloir identifier quel TextBlock personnalisé a été utilisé. Vous pourriez probablement le faire en mettant un tag personnalisé sur chacun.

Lorsque votre utilisateur tape sur le clavier personnalisé, modifiez également la valeur de la propriété liée au TextBlock. Cela mettra à jour le texte sur l'écran.

C'est à peu près un bloc de texte de base.

Voici les hypothèses à prendre de ce poste:

  1. Vous savez ce qu'est un contrôle utilisateur est

  2. Vous savez comment Databind

  3. connaissance sur 2 voies Databinding

Espérons que cela aide!

+0

Qu'entendez-vous par le contrôle de zone de texte comme wt? –

1

Vous pouvez le faire avec Mettre à jour le contenu de la zone de texte à intervalle de 1 seconde. Ajouter/supprimer | Caractère à l'intervalle de seconde.

setTimeout(function() {UpdateContent()}, 1000); 
0

J'ai rencontré un problème similaire.

Ma solution de contournement consistait à créer un bloc de texte sous la zone de texte et de le partager avec le contenu de la zone de texte. Ensuite, je bascule les états de visibilité entre les deux pour empêcher le clavier d'afficher quand ce n'est pas nécessaire.

C'est un hack mais ça a marché pour ma situation.

+0

Je n'ai pas compris que vous pouvez partager une partie de votre code que vous avez réellement fait? –

+0

Réduire la zone de texte et afficher le bloc de texte lorsque l'événement LostFocus de la zone de texte est appelé. –

+0

Je ne t'ai pas eu. –

Questions connexes