You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery实现菜单悬停为无关元素加类,移开后类无法移除的问题

修复hover后未移除类的问题

嗨,这问题很好解决!你现在的代码只处理了鼠标悬停进入菜单项时添加类的逻辑,却没写鼠标离开时移除类的部分——jQuery的.hover()方法其实支持传入两个回调函数,分别对应鼠标进入和离开的动作。

给你修正后的代码:

jQuery(document).ready(function(){
  jQuery("#sfm-sidebar .sfm-menu-level-0 li a").hover(
    // 鼠标移入时添加hover类
    function(){
      jQuery("#cursor").addClass("hover");
    },
    // 鼠标移出时移除hover类
    function(){
      jQuery("#cursor").removeClass("hover");
    }
  );
});

如果喜欢更清晰的事件绑定写法,也可以拆分写成mouseenter和mouseleave事件:

jQuery(document).ready(function(){
  const menuLinks = jQuery("#sfm-sidebar .sfm-menu-level-0 li a");
  const cursor = jQuery("#cursor");

  menuLinks.on("mouseenter", function(){
    cursor.addClass("hover");
  });

  menuLinks.on("mouseleave", function(){
    cursor.removeClass("hover");
  });
});

这样鼠标移开菜单项时,#cursor的hover类就会被自动移除啦~

内容的提问来源于stack exchange,提问作者Jacqui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:55:22