j查询侧边栏手风琴菜单不起作用



我的侧边栏菜单在点击时没有展开。单击菜单项时,子菜单应下拉。

这是链接: 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,但仍然无法正常工作。我错过了什么吗?

根据jQuery文档:

在 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
});

在此处检查工作 JsFiddle

最新更新