簡體   English   中英

jQuery側邊欄手風琴菜單不起作用

[英]jQuery sidebar accordion menu not working

我的側邊欄菜單在點擊時沒有展開。 當您單擊菜單項時,子菜單應下拉。

這里的鏈接: 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM