loadend 與 load 事件區別
關於兩個事件的基礎知識可以參閱如下兩篇文章:
(1).loadend 事件參閱 FileReader loadend 事件一章節。
(2).load 事件參閱 FileReader load 事件一章節。
loadend 事件與 load 事件比較類似,都是 FileReader 讀取資料完畢後觸發。
但是兩者的區別也是比較明顯的,下面進行一下簡略的介紹:
(1).兩個事件都是在 FileReader 讀取資料完畢後觸發。
(2).loadend 事件無論讀取成功與否都會觸發,load 事件只能讀取成功才會觸發。
(3).loadend 事件在 load 事件之後觸發。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="https://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #txt { width: 180px; height: 50px; border: 2px dotted green; font-size: 12px; text-align: center; } </style> <script> window.onload = ()=> { let reader; if (FileReader) { reader = new FileReader(); } else { alert('當前瀏覽器不支援'); return; } let inputFile = document.getElementById('file'); let txt = document.getElementById("txt"); let str = ""; inputFile.onchange = ()=> { let file = inputFile.files[0]; if (/text\/\w+/.test(file.type)) { reader.readAsText(file); reader.onloadstart = function () { str=str+"---開始---<br>"; } reader.onload = function () { str = str + reader.result+"<br>"; } reader.onloadend = function () { str = str+"---結束---"; txt.innerHTML = str; } } else { alert('必須是文字檔案'); } } } </script> </head> <body> <div><input type="file" id="file" /></div> <div id="txt"></div> </body> </html>
上傳一個具有 "螞蟻部落www.softwhy.com" 內容的文字檔案。
程式碼執行效果截圖如下:
由在 div 中顯示的內容可以看到三個事件觸發的順序是 loadstart 、load 和 loadend。
相關文章
- touch事件與click事件區別事件
- input與change事件區別事件
- onclick與click事件的區別事件
- focusin與focus事件的區別事件
- 安卓觸控事件與單擊事件的區別安卓事件
- React事件與普通HTML事件有什麼區別React事件HTML
- Hibernate get和load區別
- load和loads的區別
- input事件和change事件區別事件
- document load 和 document ready 的區別
- document load 和document ready的區別?
- Hibernate中Session.load/get區別Session
- iOS面試題-load 和 initlize的區別iOS面試題
- onclick和onmousedown事件區別事件
- 事件風暴EventStorming與事件建模EventModeling的區別 | rafalmaciag事件ORMMac
- 【.NET】多執行緒:自動重置事件與手動重置事件的區別執行緒事件
- &與&&, |與||區別
- focusout和blur事件的區別事件
- Hibernate的Session的get()和load()方法區別Session
- js事件之event.preventDefault()與event.stopPropagation()用法區別JS事件
- 【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別Oracle
- hibernate延遲載入(get和load的區別)
- onmouseleave和onmouseout事件的區別事件
- 瀏覽器與Node的事件迴圈(Event Loop)有何區別?瀏覽器事件OOP
- ??與?:的區別
- Python教程:json中load和loads的區別PythonJSON
- load與initialize
- 臨界區,互斥量,訊號量,事件的區別事件
- 命令和事件有什麼區別? - Oskar事件
- jQuery mouseout和mouseleave事件的區別jQuery事件
- onkeyup和onkeydown事件的區別事件
- <section>與<article> 區別
- showModal()與show() 區別
- localStorage與sessionStorage 區別Session
- mouseenter與mouseover區別
- GET與POST區別
- put與putIfAbsent區別
- JavaScript 與TypeScript區別JavaScriptTypeScript