jQuery onblur ne fonctionne pas
$('#lPass').focus(function() {
if (this.value == this.defaultValue) this.value = '';
$(this).after('<input type="password" id="lPass" size="10" value="'+this.value+'"/>').remove();
}).blur(function() {
alert(1);
});
<input id="lPass" type="text" size="10" value="Password"/>
onblur pas de travail.
Des idées?
source d'informationauteur Isis
Vous devez vous connecter pour publier un commentaire.
Utilisation live au lieu de focus et blur
parce que vous ajoutez l'entrée au moment de l'exécution, de sorte qu'il ajoute à la page avec les événements en direct:
Exemple:
Pour votre code exact:
Le premier problème que je vois est que le sélecteur est une ID #lPass, encore, au sein de ce sélecteur vous essayez d'insérer une nouvelle étiquette avec le même ID. L'ID doit être unique dans la page. ENSUITE, vous essayez de supprimer la avec la .remove() - semble n'avoir aucun sens pour moi.
Suffit d'utiliser l' .remove() ou l'utilisation d'un nouvel id...
OU de clarifier ce que vous voulez faire.
Comme pour l' .flou, il suffit d'utiliser un flou, mais l'ID doit être fixe, ou utiliser le .live() que d'autres suggèrent si vous souhaitez flouter le NOUVEAU champ que vous avez ajouté.