有canvas标签。我在 Canvas 上有带有子菜单的菜单。当用户点击Setting
时,会显示子菜单。子菜单显示在 Canvas 上,但如果我单击子菜单,则调用 Canvas 单击事件。
<div id="canvas">
<ul class="toolBarul" id="toolBar">
<li class="toolBarli">
<a class="button" onclick="toggleSetting()">Setting</a>
<ul id="SettingWrap">
<li><input id="rainControl" type="checkbox" onchange="rainControl(this)"><label>rain<span class="chktoc"></span></label></li>
<li><input id="flameControl" type="checkbox" onchange="flameControl(this)" checked="checked"><label>flame<span class="chktoc"></span></label></li>
</ul>
</li>
<li class="toolBarli" style="float: right;padding: 4px;">
<img src="images/Logo.png" />
</li>
</ul>
</div>
#SettingWrap{
display:none;
width: 280px;
height:308px;
top: 100%;
position: absolute;
z-index: 598;
list-style: none;
margin: 0;
padding: 0;
background: rgba(0, 40, 58, 0.91);
padding: 5px;
}
#SettingWrap li {
width: 267px;
height: 40px;
line-height: 40px;
vertical-align: middle;
padding: 5px 10px;
color: #9dd702;
}
根据this article ,我写了下面的代码但不起作用:
$("#SettingWrap").on("mousedown", function (e) {
e.preventDefault();
});
最佳答案
正如 @Mosh Feu 在评论中所说,我在 Canvas 的 click
事件之前调用 event.stopPropagation()
,它解决了我的问题。
关于javascript - 如何将div放在 Canvas 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48073346/