11---
2- title : " FileReader: load event "
2+ title : FileReader: load 事件
33slug : Web/API/FileReader/load_event
4+ l10n :
5+ sourceCommit : e43bfd9b4a6c363a4ba7ef6ffa64c09b38fd111b
46---
57
6- {{APIRef}}
7-
8- 当文件成功读取时,执行` load ` 事件
9-
10- <table class =" properties " >
11- <tbody >
12- <tr>
13- <th scope="row">是否冒泡</th>
14- <td>No</td>
15- </tr>
16- <tr>
17- <th scope="row">是否能中断退出</th>
18- <td>No</td>
19- </tr>
20- <tr>
21- <th scope="row">调用接口</th>
22- <td>{{domxref("ProgressEvent")}}</td>
23- </tr>
24- <tr>
25- <th scope="row">事件处理属性</th>
26- <td>{{domxref("FileReader.onload")}}</td>
27- </tr>
28- </tbody >
29- </table >
30-
31- ## 例子
32-
33- ### Live example
8+ {{APIRef("File API")}}{{AvailableInWorkers}}
9+
10+ {{domxref("FileReader")}} 接口的 ** ` load ` ** 事件在成功读取文件时触发。
11+
12+ 此事件不可取消且不会冒泡。
13+
14+ ## 语法
15+
16+ 在 {{domxref("EventTarget.addEventListener", "addEventListener()")}} 等方法中使用事件名称,或设置事件处理器属性。
17+
18+ ``` js
19+ addEventListener (" load" , (event ) => {});
20+
21+ onload = (event ) => {};
22+ ```
23+
24+ ## 事件类型
25+
26+ {{domxref("ProgressEvent")}}。继承自 {{domxref("Event")}}。
27+
28+ {{InheritanceDiagram("ProgressEvent")}}
29+
30+ ## 事件属性
31+
32+ _ 还继承其父级 {{domxref("Event")}} 的属性。_
33+
34+ - {{domxref("ProgressEvent.lengthComputable")}} {{ReadOnlyInline}}
35+ - : 一个布尔标志,指示底层进程要完成的总工作量以及已完成的工作量是否可计算。换句话说,它表明进展是否可衡量。
36+ - {{domxref("ProgressEvent.loaded")}} {{ReadOnlyInline}}
37+ - : 一个 64 位无符号整数值,指示底层进程已执行的工作量。完成工作的比率可以通过将 ` total ` 除以该属性的值来计算。使用 HTTP 下载资源时,仅计算 HTTP 消息的正文,不包括标头和其他开销。
38+ - {{domxref("ProgressEvent.total")}} {{ReadOnlyInline}}
39+ - : 一个 64 位无符号整数,表示底层进程正在执行的工作总量。使用 HTTP 下载资源时,这是 ` Content-Length ` (消息正文的大小),不包括标头和其他开销。
40+
41+ ## 示例
42+
43+ ### 实时示例
3444
3545#### HTML
3646
3747``` html
3848<div class =" example" >
3949 <div class =" file-select" >
40- <label for =" avatar" >Choose a profile picture: </label >
50+ <label for =" avatar" >选择个人资料图片: </label >
4151 <input
4252 type =" file"
4353 id =" avatar"
4454 name =" avatar"
4555 accept =" image/png, image/jpeg" />
4656 </div >
4757
48- <img src =" " class =" preview" height =" 200" alt =" Image preview... " />
58+ <img src =" " class =" preview" height =" 200" alt =" 图片预览 " />
4959
5060 <div class =" event-log" >
51- <label >Event log: </label >
52- <textarea readonly class =" event-log-contents" ></textarea >
61+ <label for = " eventLog " >事件日志: </label >
62+ <textarea readonly class =" event-log-contents" id = " eventLog " ></textarea >
5363 </div >
5464</div >
5565```
@@ -65,6 +75,7 @@ img.preview {
6575 border : 1px solid black ;
6676 margin : 0.2rem ;
6777 padding : 0.2rem ;
78+ resize : none ;
6879}
6980
7081.example {
@@ -89,13 +100,9 @@ img.preview {
89100.event-log > label {
90101 display : block ;
91102}
92-
93- .event-log-contents {
94- resize : none ;
95- }
96103```
97104
98- #### JS
105+ #### JavaScript
99106
100107``` js
101108const fileInput = document .querySelector (' input[type="file"]' );
@@ -104,8 +111,7 @@ const eventLog = document.querySelector(".event-log-contents");
104111const reader = new FileReader ();
105112
106113function handleEvent (event ) {
107- eventLog .textContent =
108- eventLog .textContent + ` ${ event .type } : ${ event .loaded } bytes transferred\n ` ;
114+ eventLog .textContent += ` ${ event .type } :传输了 ${ event .loaded } 字节\n ` ;
109115
110116 if (event .type === " load" ) {
111117 preview .src = reader .result ;
@@ -135,7 +141,7 @@ fileInput.addEventListener("change", handleSelected);
135141
136142#### 结果
137143
138- {{ EmbedLiveSample('Live_example ', '100%', '300px') }}
144+ {{ EmbedLiveSample('实时示例 ', '100%', '300px') }}
139145
140146## 规范
141147
@@ -145,6 +151,6 @@ fileInput.addEventListener("change", handleSelected);
145151
146152{{Compat}}
147153
148- ## 请参阅
154+ ## 参见
149155
150- - Related events: {{domxref("FileReader.loadstart_event")}}, {{domxref("FileReader.loadend_event")}}, {{domxref("FileReader.progress_event")}}, {{domxref("FileReader.error_event")}}, {{domxref("FileReader.abort_event")}}
156+ - 相关事件: {{domxref("FileReader.loadstart_event", "loadstart" )}}、 {{domxref("FileReader.loadend_event", "loadend" )}}、 {{domxref("FileReader.progress_event", "progress" )}}、 {{domxref("FileReader.error_event", "error" )}}、 {{domxref("FileReader.abort_event", "abort ")}}
0 commit comments