1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 <style>
7 div{
8 min-height: 202px;
9 min-width: 200px;
10 border: 1px solid #ccc;
11 }
12 .img img {
13 border: 4px solid #999999;
14 margin-left: 5px;
15 }
16 </style>
17 </head>
18 <body>
19 <form action="">
20 文件: <input type="file" name="myFile" id="myFile"> <br>
21 <input type="submit">
22 </form>
23 <div class="img">
24 <!--<img src="" alt="">-->
25 </div>
26 <script>
27 /* 针对于目标元素的事件
28 * ondragenter:当被拖拽元素进入到目标元素时触发
29 * ondragover:当被拖拽元素在目标元素上方时持续触发
30 * ondragleave:当被拖拽元素离开目标元素时触发
31 * ondrop:当被拖拽元素在目标元素上方时松开鼠标时触发*/
32 var div = document.querySelector('div');
33
34 document.ondragenter = function (e) {
35
36 }
37 document.ondragover = function (e) {
38 // 阻止默认行为
39 e.preventDefault();
40 }
41 document.ondragleave = function (e) {
42
43 }
44 document.ondrop = function (e) {
45 // 阻止浏览器默认打开图片的跳转浏览图片页面的行为
46 e.preventDefault();
47 /*实现预览
48 * 1.读取文件资源--FileReader
49 * 2.获取读取结果:onload + result*/
50 var reader = new FileReader();
51
52 /*读取*/
53 /*当用户拖拽文件到目标元素的时候,拖拽操作会将这些文件资源存储在e.dataTransfer.files对象中*/
54
55 for (var i = 0; i < e.dataTransfer.files.length; i++) {
56 reader.readAsDataURL(e.dataTransfer.files[i]);
57 //console.log(e.dataTransfer.files[0]);
58 /*onload:
59 * onabort:
60 * onerror:
61 * onloadstart:
62 * onprogress:*/
63 var img = document.createElement('img');
64 img.style.width = 100 + 'px';
65 img.style.height = 100 + 'px';
66 div.appendChild(img);
67 reader.onload = function () {
68
69 img.src = reader.result;
70
71 }
72
73 }
74
75 }
76
77 </script>
78 </body>
79 </html>