Fade out valeur de texte à l'intérieur d'un champ de texte à l'aide de jQuery

Je ne suis pas entièrement sûr si c'est possible ou pas, je suis assez bien informé quand il s'agit de jQuery et JavaScript en général, mais celui-ci m'a déconcerté. J'ai créé un plugin simple qui efface la saisie de texte sur l'objet, puis affiche la valeur par défaut si rien n'a été entré.

Est-il possible de fade out juste le texte lui-même à l'intérieur de la saisie de texte, et non pas l'ensemble du champ lui-même? Toutes les tentatives sembler être le résultat dans le champ de texte lui-même à la décoloration et finalement se cacher l'élément de la vue.

Je suis venu avec une solution de l'utilisation de couvre contenant la valeur par défaut et absolument positionnement sur la saisie de texte, le masquage et l'affichage en fonction si un utilisateur a entré un texte ou pas. Je préférerais de beaucoup beaucoup approche simple s'il en existe un.

Modifier

À l'aide de la fonction animate de jQuery qui est en jQuery UI ou disponibles en tant que plugin pour jQuery, vous pouvez animer la couleur du texte à la couleur de l'entrée sur la focalisation et le flou du champ (comme l'a souligné ci-dessous). Voici le code que j'utilise dans des cas vous voulais savoir comment.

    obj.bind("focus", function() {
  if ($(this).val() == oldValue) {
      $(this).animate({ color: '#E8DFCC' }, 1000).val('');
  }
 });

 obj.bind("blur", function() {
  if ($(this).val().length <= 3) {
      $(this).animate({ color: '#56361E' }, 600).val(oldValue);
  }
 });
  • Vous avez déjà cloué le meilleur de la croix-navigateur solution ici, un élément positionné sur le dessus, pas sûr que vous pouvez l'améliorer tout en travaillant partout.