Javascript 通过单击链接打开/隐藏已打开的div
我制作了一个导航,当您单击.products链接时打开,当您单击屏幕上的任何位置时关闭。但是,如果您在.product链接已打开时单击它,它似乎不会关闭。我该怎么做Javascript 通过单击链接打开/隐藏已打开的div,javascript,jquery,css,Javascript,Jquery,Css,我制作了一个导航,当您单击.products链接时打开,当您单击屏幕上的任何位置时关闭。但是,如果您在.product链接已打开时单击它,它似乎不会关闭。我该怎么做 $('#subnav').hide(); $(document).on('click', function(e) { if ( $(e.target).closest('.products').length ) { $("#subnav").show(); }else if ( ! $(e.targ
$('#subnav').hide();
$(document).on('click', function(e) {
if ( $(e.target).closest('.products').length ) {
$("#subnav").show();
}else if ( ! $(e.target).closest('#subnav').length ) {
$('#subnav').hide();
}
});
小提琴:
小提琴:
在文档上需要单击事件来隐藏块,在按钮上需要单击事件来显示块。在出现按钮的情况下,您需要停止文档事件的传播 就像这样:
$("div").hide();
$("button").bind("click",function(e){
e.stopPropagation();
$("div").toggle(200);
});
$(document).bind("click",function(){
$("div").hide(200);
});
<div></div>
<button>open</button>
假设您的代码如下所示:
$("div").hide();
$("button").bind("click",function(e){
e.stopPropagation();
$("div").toggle(200);
});
$(document).bind("click",function(){
$("div").hide(200);
});
<div></div>
<button>open</button>
在文档上需要单击事件来隐藏块,在按钮上需要单击事件来显示块。在出现按钮的情况下,您需要停止文档事件的传播 就像这样:
$("div").hide();
$("button").bind("click",function(e){
e.stopPropagation();
$("div").toggle(200);
});
$(document).bind("click",function(){
$("div").hide(200);
});
<div></div>
<button>open</button>
假设您的代码如下所示:
$("div").hide();
$("button").bind("click",function(e){
e.stopPropagation();
$("div").toggle(200);
});
$(document).bind("click",function(){
$("div").hide(200);
});
<div></div>
<button>open</button>
js
js
你能把你的密码也发出来吗。最好的方式显示使用你可以张贴你的代码了。使用它显示的最佳方式,因为当用户在任何地方单击时,
subnav
do切换!!这不是所要求的。如果您单击其他位置,则该块应关闭,因为当用户单击所有位置时,subnav
do切换!!这不是所要求的。如果单击,该块应关闭elsewhere@MaryMelody抱歉,有点小错误,我已经更新了链接如果我们点击div,它会被隐藏,我想你需要应用.stopPropagation()
on div click以及它获得的文档单击功能。@4dgaurav问题中没有明确提出这一点,但这确实对用户体验更有意义是的。。顺便说一句,我喜欢在你的答案中绑定点击。@MaryMelody抱歉,有点小错误,我已经更新了链接如果我们点击div,它会被隐藏,我想你需要应用.stopPropagation()
on div click以及它获得的文档单击功能。@4dgaurav问题中没有明确提出这一点,但这确实对用户体验更有意义是的。。顺便说一句,我喜欢在你的答案中绑定点击。