Event Delegation

 HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Event Delagation</title>
</head>
<body>
    <h1>TODO List</h1>
    <input placeholder="Enter Task">
    <button>Add Task</button>
    <ul>
        <li>Eat<button class="delbtn">delete</button></li>
        <li>Sleep<button class="delbtn">delete</button></li>

    </ul>
    <script src="EventDelagation.js"></script>
</body>
</html>

JS

let btn=document.querySelector("button");
let inp=document.querySelector("input");
let ul=document.querySelector("ul");
btn.addEventListener("click",function(){

    let item=document.createElement("li");
    item.innerText=inp.value;
    let delbtn=document.createElement("button");
    delbtn.innerText="delete";
    delbtn.classList.add("delete");
    inp.value="";
    ul.appendChild(item);

    item.appendChild(delbtn);
});

// EVENT DELEGATION
ul.addEventListener("click",function(event){
    console.dir(event.target);
    console.log(event.target.nodeName);
    if(event.target.nodeName=="BUTTON"){
        let listItem=event.target.parentElement;
        listItem.remove();
        console.log("task deleted..")
    }
});



Comments

Popular posts from this blog

Callback Hell

TODO list with DOM

Refactoring callback hell code