Lorsque vous cliquez sur le bouton puis lorsque vous Cliquez dans le champ de titre et commencez à taper que le texte disparaît. P> Je veux faire la même chose dans mon application. P> Y a-t-il une astuce dans JQuery pour accomplir cela? P> "Poser une question" Code> sur le bouton de pile, la section Titre de la question est préparée avec le texte gris clair qui lit
5 Réponses :
Bien que je ne sais pas comment le faire dans jQuery, il est assez simple de le faire directement avec JavaScript. Il suffit d'attribuer une fonction qui efface le champ de texte sur la propriété OnClick du champ, comme:
function clear()
{
document.getElementById("textID").value = "";
}
<input type="text" value="whats your programming question" id="txt"/>
$(document).ready(function(){
$('#txt').click(function(){
this.value = '';
this.style.color = 'black';
}).blur(function(){
if ( this.value == '')
this.value = 'whats your programming question';
this.style.color = 'lightgray';
});
});
Cela ressemble à cela à peu près le couvre, à l'exception de la question de la modification de la couleur du texte de Grey clair pour le texte de l'espace réservé à la couleur du texte par défaut lorsque quelqu'un commence à taper. Savez-vous comment cela est accompli?
Oui, j'ai édité la réponse ci-dessus, il suffit de jouer avec les propriétés de style, vous pouvez changer la classe CSS aussi une meilleure approche si le style diffère plus que de la couleur
Le moyen le plus simple d'y parvenir est avec l'attribut HTML (BEST HTML5) 'S CODE> Attribut CODE>:
$(document).ready(
function(){
$('input:text').each(
function(){
$(this)
.val($(this).attr('placeholder'))
.css('color','#999');
$(this).click(
function(){
$(this)
.val('')
.css('color','#000');
});
$(this).blur(
function(){
if ($(this).val() === ''){
$(this)
.val($(this).attr('placeholder'))
.css('color','#999');
}
});
});
});
Est-ce que cela rendrait l'espace réservé au texte une couleur plus claire que le texte saisi?
Cela dépend de la mise en œuvre de la navigateur, généralement b> (au moins avec le chrome 7.0.517.44 et Firefox 3.6.12) Le texte code> est rendu dans une couleur plus claire. Je ne suis pas sûr de la mise en œuvre d'IE ou de l'opéra, cependant.
Les solutions présentées jusqu'à présent ont un inconvénient: le texte invité est soumis au serveur si l'utilisateur n'entre aucune valeur dans l'entrée. Vous pouvez trouver ici une meilleure solution qui s'occupe également de ce problème: http://kyleschaefeffer.com/best-practices/input-prompt-text/ a> p>
Les réponses Voici d'excellents points de départ, l'utilisateur peut ensuite vérifier la valeur requis sur soumettre et l'ignorer (ou ne pas soumettre s'il est toujours là, etc.) p>
J'ai eu beaucoup de difficulté à obtenir le http://kyleschaefer.com/best - Practices / Input-Invest-Stume / Solution Travaillez à obtenir le texte de l'invite pour aligner avec la boîte de saisie dans chaque navigateur testé p>