window.addEventListener
只在second click
上获得executed
,令人惊讶的是,在我单击一次li element
读取任务并再次单击删除按钮后,读取任务事件被激发!因为我要把delete button
号公路标在list element
号公路上.
List元素的单击处理程序的值为read the task information
.
删除按钮有remove task handler
个.我正在将事件附加到stop event propagation
和它的父级.
一百零二
这里的first problem
是,因为我使用的是addEventListener,它只在第二次单击后执行.
如果我移除了事件Listeners的附加,那么单击删除按钮,则读取任务事件也会被激发!
如何解决这些问题??期待一些真正的解决方案.如果能帮上忙,我将不胜感激.谢谢!
这里是=>;Working Demo
以下是我的代码:
window.deleteTask = function deleteTask(id) {
const deleteButton = document.getElementById(id);
deleteButton.addEventListener(
"click",
(event) => {
// event.preventDefault();
let taskAppObj = new ToDoConstructor();
taskAppObj.removetask(id);
event.stopPropagation();
},
false
);
};
window.getTaskInfo = function getTaskInfo(id) {
const li = document.getElementById(`data-${id}`);
li.addEventListener("click", (event) => {
let taskAppObj = new ToDoConstructor();
let task = window.storeContext.find((task) => task.id === id);
taskAppObj.readTheTask(task);
});
};