2011-01-18 2 views
0

Je suis en train de lier l'événement hover aux éléments de ma page en utilisant le code suivant:Sélecteur avec en direct() vol stationnaire

$(".pinSelect-available").live('mouseover mouseout', function(e) { 
alert(e.type); 
if (e.type == 'mouseover') { 
     // mouseover stuff 
} else { 
     // mouseout stuff 
} 
}); 

Cependant l'alerte appelle que par mouseout et apparemment tous les éléments sur ma page malgré l'attribution de la classe .pinSelect-available dans le sélecteur. J'ai aussi essayé d'autres choses dans mon sélecteur et ils font tous la même chose.

Toute aide sur le sujet serait très appréciée, merci.

Répondre

1

Utilisez-vous jQuery 1.4.1+? La page docs jQuery pour .live() dit la possibilité d'attribuer plusieurs événements a été ajouté dans 1.4.1

Je devine que vous êtes bien, comme exemple de cette page ...

+0

Merci, j'utilisais le 1.4.4 mais il semble que je l'ai écrasé avec une ancienne version quand j'ai mis à jour mon application. – baked

0

Vous devez utiliser la version 1.4.1+ pour la liaison d'événements multiples.

0

Juste un rappel, vous ne peut pas assigner un événement (même un .live()) à un contexte qui n'existe pas ex.

$(".pinSelect-available").live('mouseover mouseout', function(e) { 
alert(e.type); 
if (e.type == 'mouseover') { 
     // mouseover stuff 
} else { 
     // mouseout stuff 
} 
}); 

Il ne fonctionne pas si .pinSelect-disponible n'existe pas à ce moment-ci, ou est supprimé et recréé plus tard.