jQuery侧栏手风琴菜单不起作用

时间:2014-12-09 17:37:56

标签: jquery menu sidebar

我的侧边栏菜单未点击扩展。单击菜单项时,子菜单应该下拉。

此处的链接:http://jsfiddle.net/hv6jt8rn/

$('#cssmenu li.active').addClass('open').children('ul').show();
$('#cssmenu li.has-sub>a').on('hover', function(){
   $(this).removeAttr('href');
   var element = $(this).parent('li');
   if (element.hasClass('open')) {
      element.removeClass('open');
      element.find('li').removeClass('open');
      element.find('ul').slideUp(200);
   }
   else {
      element.addClass('open');
      element.children('ul').slideDown(200);
      element.siblings('li').children('ul').slideUp(200);
      element.siblings('li').removeClass('open');
      element.siblings('li').find('li').removeClass('open');
      element.siblings('li').find('ul').slideUp(200);
   }
});

包含jQuery,但它仍然无法正常工作。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

根据jQuery Documentation

  

在jQuery 1.8中不推荐使用,在1.9中删除:名称“hover”用作   字符串“mouseenter mouseleave”的简写。它附单   这两个事件的事件处理程序,处理程序必须检查   event.type,用于确定事件是mouseenter还是mouseleave。   不要将“hover”伪事件名称与.hover()方法混淆,   它接受一个或两个功能。

您可以通过更改:

来解决此问题
$('#cssmenu li.has-sub>a').on('hover', function(){
//content
});

$('#cssmenu li.has-sub>a').hover(function(){
//content
});

检查working JsFiddle here