前端学习笔记202309学习笔记第九十七天-typescript知识讲解9

interface ITodo{
id:number,
content:string,
completed:boolean
}
const oInputText=<HTMLInputElement>document.querySelector('#inputText')
const oAddBtn=document.querySelector('#addBtn')
const oTodoList=document.querySelector('#todoList')
const eventMap=new Map([
[oAddBtn,handleAddBtnClick],
[oTodoList,handleListClick],
]
)
const init=()=>{
bindEvent()
}
function bindEvent(){
eventMap.forEach((handler,el)=>{
el?.addEventListener("click",handler,false)
})
}
function handleAddBtnClick(){
const inputText=oInputText.value
console.log(1111)
if(!inputText.trim().length) return
const oTodoItem=CreateTodoItem({
id:new Date().getTime(),
content:inputText,
completed:false
})
oTodoList?.append(oTodoItem)
}
function handleListClick(){
}
function CreateTodoItem({id,content,completed}:ITodo){
const oTodoItem=document.createElement("li")
oTodoItem.appendChild(createCheckBox(id,completed))
oTodoItem.appendChild(createContent(id,content))
oTodoItem.appendChild(createRemoveBun(id))
return oTodoItem
}
function createCheckBox(id:number,completed:boolean){
const oCheckBox=document.createElement('input')
oCheckBox.type='checkbox'
oCheckBox.checked=completed
oCheckBox.dataset.id=id.toString()
return oCheckBox
}
function createContent(id:number,content:string){
const oContent=document.createElement('span')
oContent.innerText=content
return oContent
}
function createRemoveBun(id:number){
const oRemoveBtn=document.createElement("button")
oRemoveBtn.innerText='REMOVE'
return oRemoveBtn
}
init()

运行结果

 

posted @   前端导师歌谣  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示