js在执行一次拖拽后再拖拽,还会重复拖拽上一个元素

js使用draggable拖拽多个元素后,再次拖拽,移动的永远是最后一次拖拽的是元素。怀疑是preventDefault放下后,dragstart方法不生效了,没有重新赋值,一直是拖拽的是最后一个元素。

拖拽到目标元素上,在目标元素上拖拽,被拖拽的dom上的事件失效。

img

你设置dragend 了吗

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7658676
  • 除此之外, 这篇博客: JavaScript鼠标拖动事件监听使用方法及实例效果中的 dragstart事件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 当拖动开始时触发一次该事件,可以用于拖动前对元素进行一些预处理

    <body>
        <div draggable="true"></div>
    </body>
    
    </html>
    <script>
        let div = document.querySelector("div");
        div.addEventListener("dragstart", (params) => {
            console.log("dragstart事件触发");
        })
    </script>