如何通过jQuery保持鼠标悬停的DIV?

时间:2011-05-19 14:29:40

标签: javascript jquery html mouseleave mouseenter

好吧..有点复杂的问题。我有一个DIV,当你将鼠标悬停在TR上时会出现。

$(".alignment_tr").hover( function() {
    console.log( "alignmententer" + triggerMouseover );
        var tid = $(this).find( ".hidden_inp_selected_alignment" ).val();
        var element = $(this);

        if( ! element.hasClass( "mouseover-tooltip" ) )
        {
            $.ajax( {
                url: Drupal.settings.jstools.basePath + "?q=search/mouseover_info",
                dataType: 'json',
                data: { "tid": tid },
                success: function( response ) {
                        $(".mouseover-tooltip .top-level").html( response.genre );
                        $(".mouseover-tooltip .second-level").html( response.name );
                        $(".mouseover-tooltip .description").html( response.description );
                        $(".mouseover-tooltip").css( {
                            left: element.position().left + ( element.width() * 0.75 ),
                            top: element.position().top - element.height() / 2,
                        } );
                        if( $(".mouseover-tooltip").css( "display" ) == "none" )
                        {
                            $(".mouseover-tooltip").fadeIn();
                        }
                    }
                });
        }
    },
    function() {
    console.log( "alignmentleave" + triggerMouseover );
        setTimeout( fadeMouseover, 5000 );
    }
);

我试图让它变得如此,当你将鼠标移到DIV上时,它不会消失。有什么提示吗?

澄清 现在,当鼠标悬停在TD上时,会出现DIV。我操纵它,以便当你将鼠标悬停在DIV上时,它会停留(用于消失)。但是现在,当你的鼠标离开TR并离开DIV时,DIV不会消失。

1 个答案:

答案 0 :(得分:2)

如果div绝对定位,我相信它,请将其放在tr内。通过这种方式,您的鼠标将超过div td。这样,您的鼠标位于divtr上方就不会触发mouseleave

小提琴:

http://jsfiddle.net/mHCNj/1/