我如何检测鼠标的下一个悬停?

时间:2012-05-15 05:53:41

标签: javascript jquery html css

我正在建立一个菜单,我需要检测鼠标的下一步动作。目前我正在使用event.relatedTarget并获取下一个元素的event.relatedTarget.id。它一直工作,直到我必须在我的菜单上对我的CSS进行一些修改,所以我不得不摆脱overflow: hidden;并使用display: inline-block;。现在发生的事情是event.relatedTarget是一个空字符串,除非我将鼠标快速拉到我的菜单项。生病了部分代码,并在jsfiddle上有完整的东西。任何想法的家伙?

link to the project

Navigation.top_links.on('mouseleave', function (event) {
                var sub_wrapper = $('.sub-wrapper'),
                        target_id = event.relatedTarget.id;

                console.log(event.relatedTarget.id);

                console.log(event.relatedTarget.id);
                if (target_id == 'got_me_sections' || target_id == 'got_me_products' || target_id == 'ind_sections' || target_id == 'ind_products') {                    
                    console.log('mouse down to items');
                    return false;
                }

                sub_wrapper.removeClass('sections').removeClass('products');
                sub_wrapper.hide();
            });

它的HTML很多,所以它有点混乱,抱歉。

<ul id="top_nav">
                <li class="first"><a href="#" id="sections" class="nav-link">sections</a></li>
                <li><a href="#" id="products" class="nav-link">products</a></li>              
                <li>
                    <div id="nav_cart">
                        <div class="gfx-div-cart"></div>
                    </div>  
                </li>                
            </ul>         

        <div id="sub_nav">

            <div id="sub_sections" class="sub-wrapper">
                <div id="got_me_sections" class="top-space">
                    <div id="ind_sections" class="indicator"></div>
                </div>
                <div class="nav-items-wrapper">
                    <div class="nav-items-breadcrumb">
                        <ul class="breadcrumb">
                            <li class="bc first">sections</li>
                            <li class="bc last">&nbsp;</li>
                        </ul>
                    </div>
                    <div class="nav-items">
                        <ul class="nav-items-list">

                                   <li><a href="#" class="nav-item">item.Name</a></li>

                        </ul>
                    </div>
                </div>
            </div>
            </div>

1 个答案:

答案 0 :(得分:1)

我通过向<div id="sub_nav">...</div>

添加css解决了这个问题

我将容器向上移动了一些负margin-top: -4px;