Skip to content

Commit 7110521

Browse files
committed
refactor: event delegation
1 parent 70a1f82 commit 7110521

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

049-todo list/script.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@ const addTodo = (todo) => {
2424
todoElement.classList.add("completed");
2525
}
2626
todoElement.innerText = todoText;
27-
todoElement.addEventListener("click", () => {
28-
todoElement.classList.toggle("completed");
29-
updateLocalStorage();
30-
});
31-
todoElement.addEventListener("contextmenu", (e) => {
32-
e.preventDefault();
33-
todoElement.remove();
34-
updateLocalStorage();
35-
});
3627
todosList.appendChild(todoElement);
3728
input.value = "";
3829
updateLocalStorage();
@@ -47,3 +38,18 @@ form.addEventListener("submit", (e) => {
4738
e.preventDefault();
4839
addTodo();
4940
});
41+
42+
todosList.addEventListener("click", (e) => {
43+
if (e.target.tagName === "LI") {
44+
e.target.classList.toggle("completed");
45+
updateLocalStorage();
46+
}
47+
});
48+
49+
todosList.addEventListener("contextmenu", (e) => {
50+
if (e.target.tagName === "LI") {
51+
e.preventDefault();
52+
e.target.remove();
53+
updateLocalStorage();
54+
}
55+
});

0 commit comments

Comments
 (0)