let currentDraggedItem = null; const lisAndBody = document.querySelectorAll('li, body'); for(const element of lisAndBody){ element.addEventListener('dragstart', (event)=>{ currentDraggedItem = event.target; }) element.addEventListener('dragover', (event)=>{ event.preventDefault() event.target.classList.add('dragging'); }) element.addEventListener('dragleave', (event)=>{ event.target.classList.remove('dragging'); }) element.addEventListener('drop', (event)=>{ event.stopPropagation() event.target.classList.remove('dragging'); event.target.querySelector('ul').appendChild(currentDraggedItem) }) } const deleteItem = (event)=>{ event.target.parentNode.remove() } const createNewItem = (event)=>{ const template = document.querySelector('template').content.children[0]; const newItem = template.cloneNode(true) newItem.querySelector('.add').addEventListener('click',createNewItem); newItem.querySelector('.delete').addEventListener('click',deleteItem); if(event){ event.target.parentNode.querySelector('ul').appendChild(newItem) } else { document.querySelector('ul').appendChild(newItem) } } for(let i = 0; i < 5; i++){ createNewItem() }