Draggable returning null on CreateElement

Viewed 17

It's returning null when the createElement are dropped in their container. But the other elements that are in my html files are dragging correctly except for the elements create with the javascript

window.addEventListener("load", ()=>{
    const Element = document.querySelectorAll( "#Data" )
    const Drop = document.querySelectorAll( "#Drop" )
    const AddBug = document.getElementById( "AddBug" )
    let DraggedItem = null

    AddBug.addEventListener("click", ()=>{
        const BugInput = document.getElementById("BugInput").value
        const Wrapper = document.getElementById("Wrapper")
        const NewDiv = document.createElement("span")
        NewDiv.classList.add("Data")
        NewDiv.setAttribute("id", "Data")
        NewDiv.setAttribute("draggable", "true")
        NewDiv.innerText = BugInput
        Wrapper.append(NewDiv)
    })
    
    for( let i=0; i<Element.length; i++ ){
        const Item = Element[i]

        Item.addEventListener("dragstart", () =>{
            console.log("DragStart")
            DraggedItem = Item
            console.log(DraggedItem)
            setTimeout(()=>{ Item.style.display = "none" },0)
        })
        Item.addEventListener("dragend", ()=>{
            console.log("dragend")
            setTimeout(()=>{
                DraggedItem.style.display = "block"
                DraggedItem = null
            },0)
        })

        for ( let j=0; j<Drop.length; j++ ){
            const list = Drop[j]

            list.addEventListener( "dragover", ( e )=>{ e.preventDefault() })
            list.addEventListener( "dragenter", ( e )=>{ e.preventDefault() })
            list.addEventListener( "drop", ()=>{ list.append(DraggedItem) })
        }
    }

})
0 Answers
Related