La fixation d'un texte HTML à l'entrée de la zone de valeur “par défaut”. Rétablir la valeur en cliquant sur la touche ECHAP
Lorsqu'un formulaire web est écrit dans le navigateur, le navigateur se souvient de ce que les valeurs initiales sont d'une zone de SAISIE de texte. c'est à dire. lorsqu'il reçoit le HTML comme ceci:
<input type="text" value="something">
Le navigateur se souvient de "quelque chose" que l'initiale/par défaut la valeur. Lorsque l'utilisateur commence à taper dessus, puis frappe de l'ESC, le navigateur revient le champ à la valeur initiale (ou rien si elle a été initialement vide bien sûr).
Cependant, lors de la création d'une zone de saisie de texte par programmation, frapper ESC semble toujours vide la boîte, même si je le créer avec une valeur par défaut comme suit:
$('<input type="text" value="something">')
Le navigateur ne peut pas le compter comme une valeur par défaut et de ne pas revenir à elle lors de la frappe de la touche ECHAP. Donc ma question est, est-il un moyen de créer une zone de texte dans le code et en quelque sorte de lui affecter une valeur par défaut, de sorte que la touche ESC fonctionne que si le navigateur a reçu dans le document HTML?
Vous devez vous connecter pour publier un commentaire.
Ce
esc
comportement est IE uniquement par la voie. Au lieu d'utiliser jQuery utiliser un bon vieux javascript pour la création de l'élément, et cela fonctionne.http://jsfiddle.net/gGrf9/
Si vous souhaitez étendre cette fonctionnalité à d'autres navigateurs alors je voudrais utiliser du jQuery objet de données pour stocker la valeur par défaut. Puis il quand l'utilisateur appuie sur escape.
Vous pourriez à la recherche pour le
placeholder
attribut qui permet d'afficher un texte en gris dans le champ de saisie, tout vide.De Mozilla Developer Network:
Cependant, comme il est assez "nouveau" tag (à partir de la spécification HTML5 autant que je sache), vous pouvez vouloir de test du navigateur pour vous assurer que votre public cible est bien avec cette solution.
(Si pas de dire à dire à la mise à niveau du navigateur " cause cette balise fonctionne comme un charme ;o) )
Et enfin un mini-violon pour les voir en action: http://jsfiddle.net/LnU9t/
Edit: Voici une plaine jQuery solution qui sera également effacer le champ de saisie si une fuite de frappe est détecté: http://jsfiddle.net/3GLwE/
Si la question est: "Est-il possible d'ajouter de la valeur sur ESC" que la réponse est oui. Vous pouvez faire quelque chose comme ça. Par exemple avec l'utilisation de jQuery, il devrait ressembler à ci-dessous.
HTML
JavaScript
De travail source peut être trouvé ici: http://jsfiddle.net/S3N5H/1/
S'il vous plaît laissez-moi savoir si vous vouliez dire quelque chose de différent, je peux ajuster le code plus tard.
Voir la propriété valeur par défaut de saisie de texte, il est également utilisé lorsque vous réinitialisez le formulaire en cliquant sur un
<input type="reset"/>
bouton (http://www.w3schools.com/jsref/prop_text_defaultvalue.asp )btw, defaultValue et de l'espace réservé de texte sont des concepts différents, vous avez besoin de voir lequel correspond le mieux à vos besoins