J'ai essayé cela, mais il ne fonctionne pas:Comment effacer une zone de texte onfocus?
$(function() {
$('input[type=text]').focus(function() {
$(this).val() == '';
});
});
J'ai essayé cela, mais il ne fonctionne pas:Comment effacer une zone de texte onfocus?
$(function() {
$('input[type=text]').focus(function() {
$(this).val() == '';
});
});
Pour définir la valeur, vous devez passer la nouvelle valeur en tant que paramètre. C'est une chose géniale avec la fonction .val() jQuery.
$(this).val('')
un coup d'oeil à la jQuery API et la recherche de « val »
lol qui a fonctionné. Je me demande pourquoi ils l'ont fait comme ça .. merci – sarmenhb
pas de problème ... je l'ai appris à la dure aussi bien =) –
Ils "l'ont fait comme ça" parce que c'est la seule chose qui a du sens à distance. Ce que vous avez essayé de faire n'est pas une affectation (=) en premier lieu, c'est une comparaison (==). Et même si un langage permet de renvoyer une valeur d'une fonction qui pourrait être affectée de cette façon, c'est une idée horrible; alors si vous avez fait "var x = $ (this) .val(); x = 27;" vous changeriez la valeur non seulement de x, mais de votre contribution, d'une manière complètement contre-intuitive et incroyablement difficile à déboguer. – chaos
Un peu plus tard, mais une autre approche serait ce
Lorsque vous cliquez sur la zone de saisie, il choisira tout le texte (pas clair) seulement si c'est la valeur par défaut sur la boîte. De cette façon, si un utilisateur tape quelque chose, il doit revenir en arrière pour l'éditer, il n'est pas effacé ce qui pourrait être assez ennuyeux!
La sélection du texte au lieu de l'effacer rappelle également l'exemple de l'utilisateur. Un à garder à l'esprit, je suppose.
cette astuce était vraiment intéressante! – sivann
@ $ (this) .val() == '' vous faisiez une vérification d'égalité et comme @Jon Erickson dit que val() est avry pratique jQuery fonction – Rony