我的侧边栏菜单在点击时没有展开。单击菜单项时,子菜单应下拉。
这是链接: 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