使用嵌套的HTML元素处理拖放

processing drag-n-drop with nested HTML elements?

本文关键字:元素 处理 拖放 HTML 嵌套      更新时间:2023-09-26

我使用HTML5拖放,我有一个拖放目标,可以是一个空的<div>或一个<div><img>作为子节点。

为了使div掉落目标,我在这些div上设置onDrop=

如果我在包含图像的div上结束拖放,则e.target是图像节点。

如果我在一个空的div上结束拖放,e.target就是这个div。

要处理drop,我需要找到div的id,因为e.target可以是图像或div,我检查e.target.parentNode,以防我找不到我在e.target中寻找的信息。

是否有一种方法,我可以设置的东西,使e.target将始终是div?还是查找parentNode链的标准操作程序?

这是个老问题,但答案可能会对某人有所帮助。使用DIV元素,如下所示:

<div id="my-div" onDrop="dropped('my-div');">
    ...
</div>

你将总是得到id 'my-div'在dropped即使drop发生在任何级别的孩子