JavaScript 悬停问题

标签 javascript jquery hover jquery-events

当我使用 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);
            });
        });

最佳答案

Hover 有一个取消悬停的方法。不需要 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);
        });
    });

关于JavaScript 悬停问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995519/

相关文章:

javascript - 调用 calledOnce 时无效的 Chai 属性

javascript - 如何根据两个数据属性值查找元素?

html - 在 css 中具有多层的下拉菜单

html - 元素底部的悬停状态

javascript - Highcharts 悬停错误 - 有视频演示

javascript - 在 "start/stop"计时器中检索 localStorage 数据

javascript - 向下遍历 DOM 以仅选择

jquery - 使用复选框限制 jQuery Datepicker 中的天数

jQuery UI 自动完成返回 "Request-URI Too Large"

javascript - 按 Enter 键时禁用以 html 格式提交表单