html5 drag 文件拖拽浅淡

2023-02-14,,,,

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.container {
width: 200px;
height: 200px;
background: #ccc;
margin: 60px auto;
border: 1px solid silver;
text-align: center;
line-height: 200px;
}
</style>
<script>
window.onload = function () {
//ondragenter 拖拽文件进入时触发的事件
//ondragleave 拖拽文件离开时触发的事件
//ondragover 拖拽鼠标悬停的时候触发的事件
//ondrop 释放鼠标的时候触发的事件,(前提是ondragover阻止默认事件才能被被触发,本身也要阻止默认事件)
//为了更好的兼容,建议都使用addEventListener来进行绑定
let odiv = document.getElementById('container'); odiv.addEventListener('dragenter', function () {
this.innerHTML = '请释放鼠标'
}, false); odiv.addEventListener('dragleave', function () {
this.innerHTML = '请将文件拖拽到此处';
});
odiv.addEventListener('dragover', function (ev) {
console.log('鼠标正在上面');
ev.preventDefault();
});
odiv.addEventListener('drop', function (ev) {
//文件信息(数组形式)
console.log(ev.dataTransfer.files);
console.log('你已经释放鼠标了');
//注意:阻止默认事件应该放置在FileReader上面
ev.preventDefault(); //前端读取文件(注意:以下方法只兼容到IE10)
let file = ev.dataTransfer.files[0];
let reader = new FileReader();
reader.onload = function () {
//读取完之后,文件会存放在this.result里面,那么就可以进行相关操作
console.log(this.result);
alert(this.result);
};
reader.onerror = function () { };
reader.readAsText(file);
//reader.readAsText(file) 以文本的形式读取(文本文件)
//reader.readAsDataUrl(file) base64 以图片的形式读取(图片文件)
//reader.readAsArrayBuffer(file) 原始的二进制数据(编辑,不常用)
//reader.readAsBinaryBuffer(file) 二进制的文件形式数据(文件上传) }, false) }
</script>
</head>
<body>
<div class="container" id="container">
请将文件拖拽到此处
</div>
</body>
</html>

html5 drag 文件拖拽浅淡的相关教程结束。

《html5 drag 文件拖拽浅淡.doc》

下载本文的Word格式文档,以方便收藏与打印。