HTML5拖放非常适合处理文件上传。 但是,如果这是您唯一要使用的文件,那么很高兴知道任何特定的dragenter
或dragover
事件是否实际上具有文件。 与之不同的是,例如,仅拖动某些选定的文本。
将事件对象发送到此函数,它将返回真相(假设您使用的浏览器支持所有这些功能 ):
function containsFiles(event) {
if (event.dataTransfer.types) {
for (var i = 0; i < event.dataTransfer.types.length; i++) {
if (event.dataTransfer.types[i] == "Files") {
return true;
}
}
}
return false;
}
翻译自: https://css-tricks.com/snippets/javascript/test-if-dragenterdragover-event-contains-files/