当一个元素被拖拽时,他的DOM是挂属在什么位置上的?

我想要做一个就是拖拽后能够复制一个拖拽的元素在原来的位置,我写的代码如下:

        <ul class="imggroup">
            <li onmousedown="showelement(event)">
                <div id="img1" class="imgcontain" draggable="true" ondragstart="drag(event)"/>
            </li>
            <li onmousedown="showelement(event)">
                <div id="img2" class="imgcontain" draggable="true" ondragstart="drag(event)"/>
            </li>
            <li onmousedown="showelement(event)">
                <div id="img3" class="imgcontain" draggable="true" ondragstart="drag(event)"/>
            </li>
        </ul>

js如下:
function showelement(ev){

$(ev).append($(ev).children().clone())

}

结果浏览器老是报错图片描述

我认为这里就是因为拖拽执行后这个元素已经不是Li的子元素了,所以找不到,所以无法执行。所以想请教一下大神是不是这个原因?如果是,那么如何能选择到被拖拽的元素?如果不是那么又是什么原因导致的?
另外我一开始用this来选择也是报一样的错误。

阅读 2.4k
1 个回答

解决了……不复制元素而是连带着复制节点就搞定了……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题