2012-01-26 3 views
1

J'ai défini une fonction comme ceci:Comment définir et exécuter une fonction pour un événement hover?

var hovername = function() {       
    // do something 
}, function() { 
    // do something 
}); 

Mais quand je l'appelle à l'aide somevariable.hover(hovername);, il affiche une erreur: nom de la variable manquante }, function() {.

J'ai supprimé la deuxième fonction et cela fonctionne bien mais la partie de l'événement hover mouseout a disparu.

Comment puis-je définir une fonction pour un événement stationnaire compatible avec l'événement mouseout? Ou est-ce que j'utilise des événements mouseout et mouseover au lieu de simplement survoler?

+0

Jetez un oeil à [la syntaxe de l'instruction 'de var'] (https://developer.mozilla.org/en/JavaScript/Reference/Statements/var) ... – nnnnnn

Répondre

2

http://api.jquery.com/hover/

vol stationnaire jQuery accepte 2 paramètres comme des fonctions.

Vous pouvez le faire tel est

var hoverIn = function() {}, 
    hoverOut = function() {}; 

$('#el').hover(hoverIn, hoverOut); 

ou avec des fonctions annoymous

$('#el').hover(function() {}, function() {}); 

Votre problème se situe dans la 2ème déclaration d'un nom de variable manquante et que vous ne passant dans l'un des Les paramètres.

var hovername = function() {//
faire quelque chose }, function() {// manque un nom de variable ici // faire quelque chose });

somevariable.hover(hovername, // missing 2nd function); 
+0

C'était rapide. Cela fonctionne, merci! – catandmouse

+0

génial! Veuillez cliquer sur la coche pour accepter ceci comme réponse. :) – Trevor

+1

Oui, en quelques secondes. :RÉ – catandmouse

Questions connexes