2010-06-05 3 views
1

avec les trois lignes suivantes:réactiver ou lier une fonction de survol dans jquery?

$(".thumb").bind("mousedown", function() { 
     $('.thumb').not(this).unbind('mouseenter mouseleave'); 
    }); 

je suis déliaison ce vol stationnaire-fonction:

$(".thumb").hover(
     function() { 
     $(this).not('.text, .file, .video, .audio').stop().animate({"height": full}, "fast"); 
     $(this).css('z-index', z); 
     z++;   
     }, 
     function() { 
     $(this).stop().animate({"height": small}, "fast"); 
     } 
    ); 

Je me demande comment je peux re-lier à nouveau la fonction même de vol stationnaire exact sur mouseup? les trois lignes suivantes ne fonctionnent pas!

$(".thumb").bind("mouseup", function() { 
$('.thumb').bind('mouseenter mouseleave'); 
}); 

Pour obtenir ce que je veux faire voici une petite explication. Je veux désactiver la fonction hover pour TOUS les éléments .thumbs quand je clique sur un. Donc tout (mais pas cela) ne devrait pas avoir la fonction hover assignée pendant que je clique sur un objet. Si je relâche la souris, la fonction hover devrait fonctionner de nouveau comme avant.

Est-ce encore possible? merci pour votre aide!

Répondre

1

envelopper dans une fonction personnalisée:

function bind_hover(elements) { 
    elements.hover(
     // ... 
    ); 
}; 

et plus tard:

$(".thumb").bind("mouseup", function() { 
    bind_hover($('.thumb').not(this)); 
}); 

Ce

$('.thumb').bind('mouseenter mouseleave'); 

ne peut pas fonctionner. Vous ne spécifiez pas quels gestionnaires vous souhaitez lier.

+0

merci beaucoup! – matt

Questions connexes