0
我想允许用户拖放文件进行上传。但是,我不希望它们能够拖放已经在页面上的HTML图像/链接。防止拖放HTML元素
catch:这些图像和链接将位于contentEditable容器中,因此禁用拖动它们是不可取的。目标是简单地防止当您将非文件拖到其上时将dropzone点亮。
例如:
$(function() {
$('#drop')
.on('dragover', function(event) {
event.preventDefault();
$('#drop').addClass('active');
})
.on('dragleave drop', function(event) {
event.preventDefault();
$('#drop').removeClass('active');
});
});
body {
font-family: sans-serif;
}
#drop {
border: dashed 3px #888;
padding: 20px;
}
#drop.active {
background: black;
color: white;
}
ol {
margin: 20px 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="drop">
DROP HERE
</div>
<ol>
<li>Try dragging a file from your computer over it. This is acceptable.</li>
<li>Now try dragging the image below image over it. This is not acceptable.</li>
<li><a href="#">Try dragging this link over it, too! Also not acceptable.</a></li>
</ol>
<p>
<img src="http://placekitten.com.s3.amazonaws.com/homepage-samples/408/287.jpg">
</p>
<p>
The goal here is to prevent the dropzone from lighting up when you drag a non-file over it, but to not disable dragging entirely on these types of elements.
</p>
您是否知道是否有办法阻止大多数元素首先被拖拽? 'draggable =“false”'不起作用。 'user-select:none'不起作用。 'pointer-events:none'不起作用。我无法在任何地方找到任何信息,并且我讨厌如何在页面上选择和拖动任何内容,并且经常会有鬼图像,即使您可能无法将它放到任何位置。任何想法? – Anthony