使用相对定位的图元进行拖放角度文件上载

Drag and Drop Angular File Upload with Relatively Positioned Elements

本文关键字:拖放 文件 上载 相对 定位 图元      更新时间:2023-09-26

我在上传Angular File时遇到问题,因为它与相对定位的元素一起使用。我的下降目标是100%的宽度和高度,绝对定位。如果将文件拖动到任何未相对定位的图元上,则覆盖效果良好,一切正常。但是,如果在相对定位的图元上拖动,则该图元不会注册拖动事件。这是因为相对定位的元素出现在dropArea的顶部。

我尝试过将z索引应用于放置目标,拖放效果很好,但之后我无法再单击UI上的任何内容。

这是我的逻辑:

HTML

<html>
  <head>...</head>
  <body>
    <div id="dropArea">...</div>
    <div id="siteContent">
      <div class="row">
        <!-- dragging to this element fails, since it is relatively positioned -->
        <div class="col-md-12">...</div> 
        <div>...</div>
      </div>
    </div>
  </body>
</html>

CSS

#dropArea {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

有没有任何方法可以将z索引应用于dropArea,但仍然允许点击通过?

我通过将整个页面内容包装在放置区域来解决这个问题。

<html>
<head>...</head>
<body>
<div id="dropArea" class="dropArea" ng-file-drop="onFileSelect($files)" ng-file-drag-over-class="fileAdded">
  <div id="drop-content-container">
    <div id="drop-content">
      <img src="img/app/files-upload-dd.png">
      <h1>Drop Files Here!</h1>
    </div>
  </div>
  <div class="page-content">...</div>
</div>
</body>
</html>