Javascript HTML/CSS-用于拖放的完整页面覆盖
我在创建一个完整的页面覆盖来识别拖放时遇到了一些问题。如果用户在页面上从计算机拖动文件,将其放在任何位置都会触发上载。但是,我很难获得一个完整的页面覆盖,当文件被删除时,它会被识别,并且不会阻止页面上的任何悬停元素。这是我目前的代码 HTML: JS可以识别该下降:Javascript HTML/CSS-用于拖放的完整页面覆盖,javascript,html,css,drag-and-drop,Javascript,Html,Css,Drag And Drop,我在创建一个完整的页面覆盖来识别拖放时遇到了一些问题。如果用户在页面上从计算机拖动文件,将其放在任何位置都会触发上载。但是,我很难获得一个完整的页面覆盖,当文件被删除时,它会被识别,并且不会阻止页面上的任何悬停元素。这是我目前的代码 HTML: JS可以识别该下降: var dropZone = document.getElementById('dropZone'); dropZone.addEventListener('dragover', handleDragOver, false); dr
var dropZone = document.getElementById('dropZone');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
这应该会有所帮助。下面是一个关于HTML5文件拖放API的示例。下面是API的示例。我通过将drop zone id添加到覆盖整个页面的标记中解决了这个问题。对于这种仅在拖动内容时显示的覆盖,您应该处理不同元素上的dragenter和dragleave事件:
<body>
<div>...</div>
<div id="myDropZone" ondragenter="handleDragEnter" style="z-index: 1">
<div id="myDropOverlay" ondragleave="handleDragLeave" onDrop="handleDrop" hidden style="z-index: 2">
Drop your file here
</div>
<div>
content covered by the drop zone overlay while dragging
</div>
</div>
</body>
删除html中
=
符号周围的空格。你能澄清一下你的意思吗:“…当文件被删除时,不会阻止页面上的任何悬停元素。”我需要一个div来识别文件何时被删除到页面上。如果div设置为高于所有其他元素,它就像一个盾牌,因此没有效果(悬停并单击)。可能是因为我有这个问题而粘贴结果?您是否在某个地方缺少“body”?
var dropZone = document.getElementById('dropZone');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
<body>
<div>...</div>
<div id="myDropZone" ondragenter="handleDragEnter" style="z-index: 1">
<div id="myDropOverlay" ondragleave="handleDragLeave" onDrop="handleDrop" hidden style="z-index: 2">
Drop your file here
</div>
<div>
content covered by the drop zone overlay while dragging
</div>
</div>
</body>
function handleDragEnter(event) {
showMyDropZoneOverlay();
}
function handleDragLeave(event) {
hideMyDropZoneOverlay();
}
function handleDrop(event) {
...
}