jquery在悬停时删除添加类

时间:2011-04-29 19:57:26

标签: jquery class call

好吧所以我找到了一个代码并且它似乎正在工作但是我需要在该代码中添加一些内容以防止它被触发如果我将鼠标悬停在其子菜单/子菜单元素上但仍然需要在我将鼠标悬停时触发其他项目或其他项目childern menu这是当前的脚本

$(document).ready(function() {     
   $("#navbar li:hover, #navbar li:sfhover").hover(function(){     
       $('#navbar .current-menu-parent, #navbar li.current-menu-item').addClass("non-ahover");    
   },     
   function(){    
       $('#navbar li.current-menu-parent, #navbar li.current-menu-item').removeClass("non-ahover");     
    });
}); 

所以我当前的活动菜单会有.current-menu-parent或.current-menu-item。我的子菜单以< ul>父类的内部类< li> class和子菜单类是< ul class =“sub-menu”>然后继续< li>其项目的课程。

所以我的问题是,当我将鼠标悬停在我的子菜单上时,其中一个项目是当前页面或被查看的父页面上面的脚本触发并导致丑陋的是我可以放一段代码如果当前子菜单可见,则此脚本内部停止调用,因此它不应用脚本要应用的类?

我知道可能有点混乱,但如果你需要澄清,请告诉我,我会尽我所能帮助。

1 个答案:

答案 0 :(得分:3)

  1. 将一个事件处理程序绑定到子项
  2. 让该处理程序调用stopPropagation()
  3. http://api.jquery.com/event.stopPropagation/