javascript -
问题描述
我想让<li>
元素在我单击它时更改类,当我再单击一次以将其删除时。我使用了这样的简单代码:
var ul = document.querySelector("ul");
ul.addEventListener("click", function() {
var li = document.querySelector("li");
li.classList.add("done");
})
ul.addEventListener("dblclick", function() {
var li = document.querySelector("li");
li.classList.toggle("done");
})
因此,正如您在单击时看到的那样,它会继续,而在 dbl 单击时,它会消失,但它同时对所有<li>
元素起作用。
解决方案
您需要将该类应用于事件的目标。
var ul = document.querySelector("ul");
ul.addEventListener("click", (e) => {
e.target.classList.add("done");
});
ul.addEventListener("dblclick", (e) => {
e.target.classList.toggle("done");
});
.done {
background: green;
}
<ul>
<li>A</li>
<li>A</li>
<li>A</li>
<li>A</li>
<li>A</li>
</ul>
推荐阅读
- javascript - 如何从弹出表单提交中自动刷新上一页
- php - 在 laravel 中更新会话数组值
- java - 如何在 Ktor 中散列和验证密码?
- node.js - 验证路由器文件中的 jwt 令牌
- javascript - 智能手机作为服务器
- deep-learning - 用于二分类的 Face_Recognition
- javascript - 如何检查按钮是否在onClick函数内被点击?
- angular - 如何在角度的rxjs可观察数组中添加项目
- javascript - axios 500 内部服务器错误后代码执行停止
- arguments - 如何在 SWI-PL 命令行参数中包含双引号?