javascript - 我正在尝试使用javascript在li内的元素进行下拉菜单
问题描述
首先我要说我有 0 个 js 知识我正试图从 W3 拼凑起来
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
// Close the dropdown menu if the user clicks outside of it
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');
}
}
}
}
.dropdown-content {
display: none;
position: absolute;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.show {display:block;}
<li class="dropbtn">
<a onclick="myFunction()" href="#"> <i class="fa fa-user"></i> John Smith <b <i class="fa fa-caret-down"></b></a>
<button onclick="myFunction()" class="dropbtn">Dropdown</button>
</li>
<div id="myDropdown" class="dropdown-content">
<li>
<a href="#"><i class="fa fa-fw fa-user"></i> Profile</a>
</li>
<li>
<a href="./backend/logout.backend.php"><i class="fa fa-fw fa-power-off"></i> Log Out</a>
</li>
</div>
正如你所看到的,当我点击 JohnSmith 时没有任何反应,但是当我点击按钮时它工作得很好
我希望约翰史密斯也能工作
解决方案
您也可以将您的课程添加到链接中。
所以它会是:
<a onclick="myFunction()" class="dropbtn" href="#"> <i class="fa fa-user"></i> John Smith <b <i class="fa fa-caret-down"></b></a>
推荐阅读
- c++ - 如何在 C++ 中将 ostream operator<< 作为函数传递?
- c# - 使用 EF 核心 dbContext 调用方法以使用虚拟数据进行测试
- java - Spring Boot @Scheduled 的 cron 作业在创建两个作业时无法正常工作
- sed - sed 反向引用的奇怪行为
- android-studio - Android Studio 显示 SDK 已安装,但未安装
- php - php-fpm 正忙着等待一个 mmap 调用循环
- react-native - 如何在@payhere/payhere-mobilesdk-reactnative 中使用 Payhere 授权流程
- java - 从 getResourceAsStream 获取空值
- vba - 打开 Word 文档时防止 MS-Word 应用程序运行自动宏
- javascript - Lighthouse 返回错误:PROTOCOL_TIMEOUT。等待 DevTools 协议响应已超过分配的时间