我有一个带有表单元素的下拉菜单。菜单元素设置为
display:none
当点击元素之外的任何东西时......或者至少我是这么认为的。
这是我的小功能
$(function(){
$('#loginAcc').click( function(event){
event.stopPropagation();
//show
$('#auth-menu').css('display', 'block');
});
$(document).click( function(){
//hide when click anywhere out the menu
$('#auth-menu').hide();
});
})
我遇到的问题是,当我在元素内部单击时它也会关闭,这使得填写表格非常困难,几乎不可能。
#loginAcc
是一个被点击的水平列表项,并且
#auth-menu
是
如果我冒险猜测,我想认为 .toggle() 是罪魁祸首,但这是一个纯粹的猜测,如果我要重新实现它,我什至不知道从哪里开始(一只小鸟告诉我无论如何,它已被排除在规范之外)。
我想要发生的是,当您单击#loginAcc 列表项时,#auth-menu 被设置为 display:block,并且只有在您重新单击#loginAcc 或#auth-menu 之外的任何其他位置时才能关闭。
任何帮助都会很棒。谢谢