【发布时间】:2016-11-23 17:37:03
【问题描述】:
我有一个显示用户单击“按钮”时的菜单,所以我得到了下面的代码。它在用户单击 div 时起作用,但在单击跨度中的图标时不起作用,谁能解释我为什么?我尝试了几种组合,但似乎始终无法使其正常工作。
<style>
.dropbtn {
z-index:4000;
background-color: #888677;
color: white;
padding: 10px 30px 10px 30px;
font-size: 22px;
color:#d6d1bd;
width:100px;
text-align:center;
display: table;
margin: 0 auto
}
</style>
<script>
function getMenu() {
document.getElementById("myDropdown").classList.toggle("show");
}
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
<div id="myDropdown">
my menu
</div>
<div style="border:0px;z-index:1000;" class="dropbtn" onclick="getMenu()" >
<a onclick="getMenu()">
<span class="fa fa-bars">test</span>
</a>
</div>
【问题讨论】:
-
能否请您提供 getMenu() 函数的代码?而且你真的不应该使用 onclick-events...
-
如果你可以创建一个 jsfiddle,那就太好了。图标在哪里?
-
为什么会有两次onclick?
-
我试图创建一个 jsfiddle,但我无法让它工作。我使用了来自w3schools.com/howto/tryit.asp?filename=tryhow_css_js_dropdown 的菜单示例
标签: javascript html css glyphicons