2014-01-16 66 views
0

我需要自定义仅在悬停时显示的大型菜单(display:none/display:block)。添加单击以悬停事件

我需要它也工作在点击所以我说这

 $(".menuitem_fullwidth").click(function(){ 
     $(this).find(".dropdown_fullwidth").css("display", "block"); 

      return false; 
     }); 

,但现在它打开上点击,但是当我点击不同的菜单项没有任何反应

只有第一个菜单(第一点击)始终保持开放和犯规接近或更改为另一个项目

+1

你能提供你的HTML和CSS以及或者使一个http://jsfiddle.net?我确定'$(this).find('。dropdown_fullwidth')。toggleClass('active');'应该运作良好,但我无法确定。 –

+0

从我看到的,你可能会打开它,但你永远不会关闭它,这可能是一个很好的暗示,为什么点击的第一个菜单保持打开;) – Bene

+0

用户现有的悬停代码,并添加点击事件到那 –

回答

2

需要首先关闭所有的菜单,然后打开被点击了一个

$(".menuitem_fullwidth").click(function(){ 
     $(".dropdown_fullwidth").css("display", "none"); 
     $(this).find(".dropdown_fullwidth").css("display", "block"); 

      return false; 
     }); 
+0

工作!!!!!哇什么救济...... –

+0

@ take that - 好听 - 简单但行得通:) – wickywills

1

试试这个

+0

你也是对的谢谢:) –

0

带你已经有了悬停代码,只是click事件添加到它。您可以绑定到同一个代码

$('#element').on('hover click', function() { 
    // code here.. 
}); 
0

我假设你正试图在同一时间打开一个菜单,你可以使用切换多个事件,

$(document).on('click','.menuitem_fullwidth'(function(){ 
     $('.dropdown_fullwidth').toggle(); 
     $(this).find(".dropdown_fullwidth").toggle(); 
      return false; 
     }); 
+0

谢谢,但我认为切换事件已弃用jQuery 1.8 –

+0

没有切换仍然存在 - http://api.jquery.com/toggle/ –