gpt4 book ai didi

javascript - 如果我在表格外单击,如何隐藏菜单

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:58 26 4
gpt4 key购买 nike

我有一个菜单,它的一些 li 是隐藏的。我有一个表,我希望当我点击每个 tr 时,菜单的 li 被隐藏变成显示,当我点击表的外面时,菜单的 li 是显示的是隐藏的。但是当我点击表格的一侧并在 javasscript 中为其评论相关部分时,我的代码无法正常工作。菜单不会隐藏。

https://codepen.io/anon/pen/mGJKvY

    <div class="menu-header2">
<ul>
<li>upload</li>
<li class="itemMenu hide"><a href="#">download</a></li>
<li class="itemMenu hide"><a href="#" >delete</a></li>
</ul>
</div>
<table class="table my-table">
<thead>
<tr>
<th>name</th>
<th>size</th>
</tr>
</thead>
<tbody>
<tr>
<td>word2016</td>
<td>574 KB</td>
</tr>
<tr>
<td>power2016</td>
<td>574 KB</td>
</tr>
</tbody>
</table>
<style>
.hide{ display:none;}
.show{display:block}
</style>
<script>
$(document).ready(function () {
$(".my-table tbody > tr").click(function (e) {
//if (e.target !== this) {
// $(".menu-header2 .itemMenu").removeClass("show").addClass("hide");
// }
var item = $(this);
item.addClass("selected2");
$(".menu-header2 .itemMenu").removeClass("hide").addClass("show");
$(".my-table tbody > tr").not(item).removeClass("selected2");

});
});
</script>

最佳答案

使用e.stopPropagation();单击 tablehide 菜单时,click all window:

$(document).ready(function () {
$(".my-table").click(function (e) {
if($(".menu-header2").length>0)
$(".menu-header2").show();
e.stopPropagation();
});
$(window).click(function() {
$(".menu-header2").hide();
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="menu-header2">
<ul>
<li>upload</li>
<li class="itemMenu hide"><a href="#">download</a></li>
<li class="itemMenu hide"><a href="#" >delete</a></li>
</ul>
</div>
<table class="table my-table">
<thead>
<tr>
<th>name</th>
<th>size</th>
</tr>
</thead>
<tbody>
<tr>
<td>word2016</td>
<td>574 KB</td>
</tr>
<tr>
<td>power2016</td>
<td>574 KB</td>
</tr>
</tbody>
</table>

<script>

</script>

关于javascript - 如果我在表格外单击,如何隐藏菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com