获取div显示/隐藏悬停在jQuery与ajax内容

问题描述:

我目前有代码显示/隐藏div时,另一个div是悬停或关闭。获取div显示/隐藏悬停在jQuery与ajax内容

$(document).ready(function() { 
    $('.eventViewWrapper').hover(function(){ 
     var eventId = $(this).attr('rel'); 
     $("#eventActions_" + eventId).show(); 
    }, 
    function(){ 
     var eventId = $(this).attr('rel'); 
     $("#eventActions_" + eventId).hide(); 
    }); 
}); 

然而,当我通过Ajax后获取更多的数据,的div不再显示当我将鼠标悬停: 此代码为数据的INTIAL批它是适用于工作正常。 我明白为什么会发生这种情况,因为它发生在以前的ajax功能上,并需要实施.live()方法。所以我做了以下更改:

$(document).ready(function() { 
    $('.eventViewWrapper').live('hover', function() { 
     var eventId = $(this).attr('rel'); 
     $("#eventActions_" + eventId).show(); 
    }, 
    function(){ 
     var eventId = $(this).attr('rel'); 
     $("#eventActions_" + eventId).hide(); 
    }); 
}); 

现在,这部分工作,因为div在我悬停时出现。但是,当我把注意力放在div上时,它并没有隐藏起来。我想代码的第二部分需要将.live()方法链接到它,我只是不知道如何?

感谢

您可以简单地使用mouseentermouseleave的事件,因为这是.hover()内部使用:

$('.eventViewWrapper').live('mouseenter', function() { 
    var eventId = $(this).attr('rel'); 
    $("#eventActions_" + eventId).show(); 
}).live('mouseleave', function() { 
    var eventId = $(this).attr('rel'); 
    $("#eventActions_" + eventId).hide(); 
}); 
+0

谢谢!这就是诀窍! – Cheeky 2011-05-10 13:47:31