Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript悬停问题_Javascript_Jquery_Hover_Jquery Events - Fatal编程技术网

Javascript悬停问题

Javascript悬停问题,javascript,jquery,hover,jquery-events,Javascript,Jquery,Hover,Jquery Events,当我使用jQuery的.hover()或Javascript的mouseenter()时,事件不仅在鼠标进入元素时触发,而且在鼠标穿过该元素中的任何元素时触发。如何停止此操作,使其仅在鼠标进入或退出该元素时触发,而子元素对事件没有影响 $(document).ready(function(){ introAnimation(); $('#nav-item1').hover(function() {

当我使用jQuery的
.hover()
或Javascript的
mouseenter()
时,事件不仅在鼠标进入元素时触发,而且在鼠标穿过该元素中的任何元素时触发。如何停止此操作,使其仅在鼠标进入或退出该元素时触发,而子元素对事件没有影响

       $(document).ready(function(){
            introAnimation();
            
            $('#nav-item1').hover(function() {
                $('#createSub').slideDown(300);
            });
            $('#nav-item1').mouseout(function() {
                $('#createSub').slideUp(300);
            });
            
            $('#nav-item2').hover(function() {
                $('#manageSub').slideDown(300);
            });
            $('#nav-item2').mouseout(function() {
                $('#manageSub').slideUp(300);
            });
            $('#nav-item3').hover(function() {
                $('#storeSub').slideDown(300);
            });
            $('#nav-item3').mouseout(function() {
                $('#storeSub').slideUp(300);
            });
        });

悬停有一种解除悬停的方法。不需要mouseout事件,当您将鼠标移到嵌套的子元素上时会触发该事件:

   $(document).ready(function(){
        introAnimation();

        $('#nav-item1').hover(function() {
            $('#createSub').slideDown(300);
        },function() {
            $('#createSub').slideUp(300);
        });
        $('#nav-item2').hover(function() {
            $('#manageSub').slideDown(300);
        },function() {
            $('#manageSub').slideUp(300);
        });
        $('#nav-item3').hover(function() {
            $('#storeSub').slideDown(300);
        },function() {
            $('#storeSub').slideUp(300);
        });
    });

悬停有一种解除悬停的方法。不需要mouseout事件,当您将鼠标移到嵌套的子元素上时会触发该事件:

   $(document).ready(function(){
        introAnimation();

        $('#nav-item1').hover(function() {
            $('#createSub').slideDown(300);
        },function() {
            $('#createSub').slideUp(300);
        });
        $('#nav-item2').hover(function() {
            $('#manageSub').slideDown(300);
        },function() {
            $('#manageSub').slideUp(300);
        });
        $('#nav-item3').hover(function() {
            $('#storeSub').slideDown(300);
        },function() {
            $('#storeSub').slideUp(300);
        });
    });

在处理程序中添加以下内容:

if( ev.target !== this ){ return; }

ev.target
是鼠标事件触发的对象<代码>此是您将事件绑定到的内容

在处理程序中添加此内容:

if( ev.target !== this ){ return; }

ev.target
是鼠标事件触发的对象<代码>此是您将事件绑定到的

不正确;只有
mouseover()。请举个例子,你能提供一个例子吗?这不是默认行为。子元素在父元素中,所以鼠标悬停不应该受到子元素的影响。它似乎不再像我所描述的那样起作用,但您可以在这里查看一个示例(左侧导航栏):
hover
函数接受两个函数,一个用于鼠标进入元素时,另一个用于鼠标离开元素时。这不是真的;只有
mouseover()。请举个例子,你能提供一个例子吗?这不是默认行为。子元素在父元素中,所以鼠标悬停不应该受子元素的影响。它似乎不再像我描述的那样起作用了,但您可以在这里查看一个示例(左侧导航栏):
hover
函数接受两个函数,一个用于鼠标进入元素时,另一个用于鼠标离开元素时。很好的建议,我甚至没有意识到这一点。很好的建议,我甚至没有意识到这一点。