jQuery: cliquez sur l'événement appelé $('textarea').val().trim().longueur de temps
Bien, c'est à peu près ce qui se passe.
Nous avons tous déjà vu ça avant: bouton devient actif et cliquable seulement après que nous avons mis quelque chose dans une entrée déposée. Je suis en train de mettre cela en œuvre. Je suppose que soit j'ai pris le mauvais chemin et que je ne les ai placé ma sélecteurs jQuery différemment, ou c'est juste quelque chose de mal avec le code.
$('textarea').bind({'keyup' : function(){
if ($(this).val().trim().length){
$('.send-feedback').removeClass('inactive').click(function(){
console.log('clicked');
});
} else {
$('.send-feedback').addClass('inactive').off('click');
}
}})
En gros, je vois 'cliqué' dans la console plusieurs fois, mais si j'ajoute console.log('key pressed')
avant la if
vérifier, il est indiqué qu'une fois par keydown, comme prévu.
Des conseils?
OriginalL'auteur Anton Matyulkov | 2013-03-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ainsi il suffit de régler le bouton à
disabled
. Cela permettra d'éviter laclick
déclenchement de l'événement:Puis séparez vos
click
fonction:JSFiddle exemple.
Dans ce cas, vous pouvez utiliser des classes, qui, je suppose, est ce que vous êtes en train de faire:
HTML:
JavaScript textarea contrôle de la longueur:
JavaScript cliquez sur la fonction:
JSFiddle exemple.
Vous devriez avoir précisé que dans votre question. Permettez-moi juste de mettre à jour ma réponse.
Pas de besoin de, Richard a déjà aswered, je suis en attente pour accepter sa réponse. D'autre part,
attr
etremoveAttr
sera sûrement utile plus tard. Merci de m'aider à apprendre 🙂J'ai ajouté un deuxième JSFiddle exemple.
Fonctionne 🙂 Merci pour l'explication détaillée
OriginalL'auteur James Donnelly
Vous reliaison l'événement de clic sur chaque événement keyup.
Modifier le code pour vérifier que le bouton est inactif avant de liaison clic en ajoutant
.inactive
du sélecteur:JSFiddle Exemple
OriginalL'auteur Richard Dalton
Chaque fois que vous entrez une lettre (keyup), vous ajoutez de l'événement, cliquez à
.send-feedback
.Si vous avez beaucoup de
.send-feedback
, vous aurezfois la "clique" du texte apparaissent.
Vous devez uniquement ajouter l'événement click si le
.send-feedback
a la classe "inactif".Ici :
"Il répéter la précédente", signifiant que le code est incorrect, ou répéter une précédente réponse (parce que si c'est l'ancien, je ne sais pas où, mais je peux le résoudre, pour le plus tard, bien trop tard pour moi ;))
Celui que j'ai accepté 🙂
OriginalL'auteur Cyril N.
J'ai créé ce violon pour vous, j'espère que ça aidera:
Il va comme ceci:
J'espère que je n'ai pas mal compris la question.
OriginalL'auteur Dimitar Dimitrov