我有一个水平列表菜单,单击它会切换嵌套列表的可见性。该功能几乎可以工作,我单击菜单并切换可见性。但是,当我在刚刚出现的元素内单击时,嵌套列表的可见性会恢复到原始状态并被隐藏。当元素需要交互时(无论是表单还是其他菜单),这有点困难。
这是我到目前为止的代码:
/* menu */
var menu = function(clicktarget, dropdown){
$(clicktarget).click( function(event){
// stop bubbling
event.stopPropagation();
//show
$(dropdown).toggle();
return false;
});
$('body').not($(dropdown)).click( function(){
//hide when click anywhere out the menu
$(dropdown).hide();
return false;
});
}
menu($('#loginAcc'),$('#auth-menu'));
如您所见,我曾尝试使用 .not() 函数来尝试将其删除,但没有任何变化,并且在单击下拉菜单时仍会被删除。