jquery mouseleave在ie(8& 9)中过早地发射

时间:2013-09-25 19:08:28

标签: javascript jquery internet-explorer-8 internet-explorer-9 mouseleave

http://standard8.tomangodns.com/

在上面的链接中,您会在网站右上角找到一个小菜单图标。这会在悬停时打开一个菜单。当鼠标离开菜单容器时,有一个mouseleave事件可以关闭菜单。除了ie8 / 9之外,这项工作很好,只要你从菜单按钮移动光标就会触发mouseleave事件。

//navigation slide out button
    $('body').on('mouseenter','.nav-container .nav-button',function(){ 
        $('.nav-container nav').show();
        $('.nav-container nav').animate({ width: '325px' }, 'fast');
    }); 

    $('.nav-container').mouseleave(function(){ 
        $('.nav-container nav').animate({ width: '0px' }, 'fast', function(){$('.nav-container nav').hide();});
    }); 

jquery有点乱,因为我正在尝试很多解决方案来解决这个问题。

任何想法都赞赏。

2 个答案:

答案 0 :(得分:0)

使用mouseout事件!

$('.nav-container').mouseout(function(){ 
        $('.nav-container nav').animate({ width: '0px' }, 'fast', function(){
            $('.nav-container nav').hide();});
    }); 

答案 1 :(得分:0)

$('.nav-container .nav-button').hover(function(){
   $('.nav-container nav').animate({width: '350px'}, 300);

},function(){
    $('.nav-container nav').animate({width: '0'}, 300);
});