前端学习笔记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()

运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值