Javascript 按钮eventlistener在单击其他按钮后未执行

Javascript 按钮eventlistener在单击其他按钮后未执行,javascript,html,css,Javascript,Html,Css,守则: 函数addProjectInit(){ const modal=document.getElementById('modal'); const addProjectButton=document.getElementById('add-btn'); const span=document.getElementsByClassName('close')[0]; addProjectButton.onclick=()=>{ modal.style.display=“块”; } span.o

守则:

函数addProjectInit(){
const modal=document.getElementById('modal');
const addProjectButton=document.getElementById('add-btn');
const span=document.getElementsByClassName('close')[0];
addProjectButton.onclick=()=>{
modal.style.display=“块”;
}
span.onclick=()=>modal.style.display=“无”;
window.onclick=()=>{
如果(event.target==模态){
modal.style.display=“无”;
}
}
};
函数addProject(){
const projectInputButton=document.getElementById('add-btn-modal');
const-labelProject=document.getElementById('project-label');
const modal=document.getElementById('modal');
projectInputButton.onclick=()=>{
让title=document.getElementById('project-title-input')。值;
labelProject.innerHTML+=createProject(标题);
modal.style.display=“无”;
};
}
函数createProject(项目){
返回`${project}`
}
函数addTodo(){
const todoTitle=document.getElementById('todo');
const todoDate=document.getElementById('date');
const todoPriority=document.getElementById('todo-priority');
const todoButton=document.getElementById('todo-button');
const todoBox=document.getElementById('todolist-box');
todoButton.addEventListener(“单击”,()=>{
让todoObject=todoObj(todoTitle.value、todoDate.value、todoPriority.options[todoPriority.selectedIndex].value);
todoBox.innerHTML+=createTodolist(todoObject);
});
};
const todoObj=(标题、截止日期、优先级)=>{
返回{标题、截止日期、优先级};
};
函数createTodolist(todoObject){
返回`
${todoObject.title}
${todoObject.dueDate}
${todoObject.priority}
`
};
addprojectnit();
addProject();

addTodo()您正在直接附加html,这将重置所有已注册的事件

 const todoBox = document.getElementById('todolist-box')
 todoBox.innerHTML += createTodolist(todoObject);
addproject按钮位于todoBox内部,因此每当您更改dom的内容时,onClick事件都会重置

在周围创建另一个div,并使用它来附加html

像这样