2010-11-11 7 views
5

Bienvenue,Deux déclencheurs à une fonction? [Keyup et focusout]

J'ai fonction

 
$('#myfield').keyup(function() { 
//do something 
} 

// - faire quelque chose runing quand écrire utilisateur quelque chose dans myfield. Je remarque, lorsque l'utilisateur utilise "auto complete" depuis le navigateur, ma fonction n'est pas exécutée.

Je trouve idée, utiliser focusout

Avez-vous une idée de comment puis-je combiner ce code ensemble, sans écrire deuxième fonction comme celui-ci? Je voudrais mettre ces 2 fonctions ensemble, et n'écris pas // faire quelque chose, deux fois.

concernant

Répondre

15

Vous pouvez utiliser .bind() qui prend un espace séparé liste des événements pour lier votre gestionnaire à, comme ceci:

$('#myfield').bind("keyup focusout", function() { 
    //do something 
}); 

Bien que, à moins que vous avez besoin d'une propagation spéciale, je bâton avec blur sur focusout, juste une préférence vraiment:

$('#myfield').bind("keyup blur", function() { 
    //do something 
}); 
+0

+1 Battez-moi! Et Bravo à marc pour penser même à ce stade du principe "SEC" (ne vous répétez pas) –

+0

Fonctionnement parfait, merci! :) – marc

1

lier plusieurs événements à la boîte d'entrée

$('#myfield').bind("focusout",function(){ 

})