2010-06-05 30 views
1

有以下三条线:重新激活或绑定jQuery中的悬停功能?

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

我是拆散这个悬停功能:

$(".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"); 
     } 
    ); 

我不知道我能再次鼠标松开重新绑定完全相同的悬停功能? 下面三行不能工作!

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

得到我想要做的这里是一个小的解释。当我点击一个时,我想要停用所有.thumbs元素的悬停功能。所以,所有(但不是这个)都不应该在我点击一个对象时分配悬停功能。如果我再次释放鼠标,悬停功能应该像以前一样再次运行。

这甚至有可能吗? 感谢您的帮助!

回答

1

包装在一个自定义函数:

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

及更高版本:

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

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

不能工作。您没有指定哪个您想要绑定的处理程序。

+0

非常感谢! – matt 2010-06-05 08:20:26