【发布时间】:2018-03-04 01:22:10
【问题描述】:
我有一个简单的下拉按钮,里面有图片:
通过单击下拉按钮,调用 dropItems(),显示列表项:
function dropItems() {
document.getElementById("myDropdown").classList.toggle("show");
}
window.onclick = function(event) {
if (!event.target.matches('.dropbtn') || !event.target.matches('#dropdownicon')) {
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');
}
}
}
}
<div class="dropdown">
<button onclick="dropItems()" class="dropbtn"><img id="dropdownicon" src="img/dropdown.png" height="25" onclick="dropItems()"></button>
<div id="myDropdown" class="dropdown-content">
<a href="#">Item 1</a>
<a href="#">Item 2</a>
<a href="#">Item 3</a>
</div>
</div>
如您所见,我还在按钮内的图像上应用了 onclick 事件,因为当您直接单击图像时它会阻止按钮的 onclick。
问题是当我点击图片时,什么也没有发生。
【问题讨论】:
-
包括 CSS,我推荐使用 StackOverflow 中的插入代码工具。他们制作了一个可行的示例,以便有人可以帮助您。
标签: javascript html