Javascript hover()事件处理程序不考虑动态更改的类

Javascript hover()事件处理程序不考虑动态更改的类,javascript,jquery,html,css,hover,Javascript,Jquery,Html,Css,Hover,这是我的代码: <li class="dropdown"> ... </li> 当页面第一次加载时,的类仍然是下拉式的,当页面滚动到70px以下时,类替换为下拉式折叠。问题是我的悬停函数在下拉类替换为下拉类时不起作用。请帮帮我,谢谢。您的问题是因为您在加载页面时附加了悬停事件处理程序。元素上类的更改对任何已绑定的事件处理程序都没有影响。要执行所需操作,必须使用委托事件处理程序,如下所示: $(window).scroll(function() { var

这是我的代码:

<li class="dropdown">
    ...
</li>

当页面第一次加载时,
  • 的类仍然是下拉式的,当页面滚动到70px以下时,类替换为下拉式折叠。问题是我的悬停函数在下拉类替换为下拉类时不起作用。请帮帮我,谢谢。

    您的问题是因为您在加载页面时附加了悬停事件处理程序。元素上类的更改对任何已绑定的事件处理程序都没有影响。要执行所需操作,必须使用委托事件处理程序,如下所示:

    $(window).scroll(function() {
        var offsetTop = $(".navbar").offset().top;
        $(".dropdown, .dropdown-collapse")
            .toggleClass("dropdown-collapse", offsetTop > 70)
            .toggleClass("dropdown", offsetTop <= 70)
    });
    
    $(document).on('mouseenter', '.dropdown-collapse', function() {    
        $(this).addClass('open');
    }).on('mouseleave', '.dropdown-collapse', function() {
        $(this).removeClass('open');
    });
    
    $(窗口)。滚动(函数(){
    var offsetTop=$(“.navbar”).offset().top;
    $(“.dropdown,.dropdown collapse”)
    .toggleClass(“下拉折叠”,偏移>70)
    
    .toggleClass(“dropdown”,抵消了
    。hover
    方法实际上已经被弃用。那么我必须使用什么?@PraveenKumar
    mouseenter
    mouseleave
    ?谢谢,man@PraveenKumarI还没有验证它是否有效,但是+1教我一种使用
    .toggleClass()
    的新方法。