日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Vue3問題:如何實(shí)現(xiàn)拼圖驗(yàn)證+郵箱登錄功能?前后端!

來源: 責(zé)編: 時(shí)間:2024-02-29 14:43:48 230觀看
導(dǎo)讀1. 需求分析文件上傳,可以說是我們在項(xiàng)目中最常用的功能之一。文件上傳一般有兩種形式:點(diǎn)擊上傳和拖拽上傳。而上傳的內(nèi)容,又大體包括:文件和文件夾。在項(xiàng)目中,我們一般都會直接選擇使用UI庫提供的上傳組件,簡單配置一下必

4GG28資訊網(wǎng)——每日最新資訊28at.com

1. 需求分析

文件上傳,可以說是我們在項(xiàng)目中最常用的功能之一。4GG28資訊網(wǎng)——每日最新資訊28at.com

文件上傳一般有兩種形式:點(diǎn)擊上傳和拖拽上傳。而上傳的內(nèi)容,又大體包括:文件和文件夾。4GG28資訊網(wǎng)——每日最新資訊28at.com

在項(xiàng)目中,我們一般都會直接選擇使用UI庫提供的上傳組件,簡單配置一下必要的屬性,就實(shí)現(xiàn)了文件上傳功能,至于組件底層實(shí)現(xiàn)的原理,是絲毫不知。4GG28資訊網(wǎng)——每日最新資訊28at.com

所以今天,針對文件和文件夾的拖拽上傳功能,我整理了一下具體的實(shí)現(xiàn),很簡單一起瞧瞧。4GG28資訊網(wǎng)——每日最新資訊28at.com

4GG28資訊網(wǎng)——每日最新資訊28at.com

2. 問題實(shí)現(xiàn)

先普及一下元素拖拽的幾個(gè)API知識點(diǎn),再放上文件拖拽上傳的實(shí)現(xiàn)代碼,并做簡單的描述,最后做小結(jié)。4GG28資訊網(wǎng)——每日最新資訊28at.com

(1)拖拽的6個(gè)API

元素拖拽的6個(gè)API分別是:dragenter、dragover、drop 以及dragstart、drag、dragend。4GG28資訊網(wǎng)——每日最新資訊28at.com

ondragstart 事件:該事件在拖動操作開始時(shí)觸發(fā),即拖動操作的起點(diǎn)。通常在該事件的處理函數(shù)中設(shè)置拖動的數(shù)據(jù)和效果。4GG28資訊網(wǎng)——每日最新資訊28at.com

drag 事件:該事件在元素正在被拖動時(shí)持續(xù)觸發(fā),即在拖動過程中。可以在該事件的處理函數(shù)中執(zhí)行一些實(shí)時(shí)的操作,例如更新元素的位置或顯示一些效果。4GG28資訊網(wǎng)——每日最新資訊28at.com

dragend 事件:該事件在拖動操作結(jié)束時(shí)觸發(fā),即拖動操作的終點(diǎn)。通常在該事件的處理函數(shù)中執(zhí)行一些清理操作或其他邏輯。4GG28資訊網(wǎng)——每日最新資訊28at.com

這三個(gè)事件通常用于控制拖動元素起始、過程和結(jié)束階段的行為。4GG28資訊網(wǎng)——每日最新資訊28at.com

4GG28資訊網(wǎng)——每日最新資訊28at.com

ondragenter 事件:該事件在拖動元素進(jìn)入目標(biāo)元素的范圍時(shí)觸發(fā)。可以在該事件的處理函數(shù)中執(zhí)行一些顯示效果或狀態(tài)改變等操作。4GG28資訊網(wǎng)——每日最新資訊28at.com

ondragover 事件:該事件在拖動元素在目標(biāo)元素上移動時(shí)持續(xù)觸發(fā),即在拖動元素在目標(biāo)元素上懸停期間。通常需要阻止默認(rèn)的拖放行為,以便允許在目標(biāo)元素上釋放。4GG28資訊網(wǎng)——每日最新資訊28at.com

ondrop 事件:該事件在拖動元素在目標(biāo)元素上釋放時(shí)觸發(fā)。可以在該事件的處理函數(shù)中獲取拖動的數(shù)據(jù)并執(zhí)行相應(yīng)的操作。4GG28資訊網(wǎng)——每日最新資訊28at.com

這三個(gè)事件通常用于控制目標(biāo)元素在接受拖動元素時(shí)的行為。4GG28資訊網(wǎng)——每日最新資訊28at.com

(2)文件拖拽上傳實(shí)現(xiàn)

元素拖拽的6個(gè)API,這里我們只需要使用dragover、drop這兩個(gè),就能實(shí)現(xiàn)文件拖拽上傳。4GG28資訊網(wǎng)——每日最新資訊28at.com

下面簡單描述一下實(shí)現(xiàn)過程,具體細(xì)節(jié)大家看代碼就好,原理很簡單。4GG28資訊網(wǎng)——每日最新資訊28at.com

先獲取頁面中的 DropFrame 元素,再為其添加兩個(gè)事件監(jiān)聽器。4GG28資訊網(wǎng)——每日最新資訊28at.com

dragover 事件監(jiān)聽器:當(dāng)有元素拖拽到 DropFrame 區(qū)域時(shí)觸發(fā),用于指定拖放操作的效果。這里必須阻止事件默認(rèn)行為,否則文件是拖不上去的,會被瀏覽器所阻止。4GG28資訊網(wǎng)——每日最新資訊28at.com

drop 事件監(jiān)聽器:當(dāng)在 DropFrame 區(qū)域釋放拖拽的元素時(shí)觸發(fā),用于處理拖放完成后的操作。內(nèi)部通過遍歷e.dataTransfer.items ,判斷文件或文件夾,文件就直接獲取File對象,文件夾則遞歸獲取內(nèi)部文件的File對象,最后依次單獨(dú)上傳服務(wù)器。4GG28資訊網(wǎng)——每日最新資訊28at.com

完整實(shí)現(xiàn)代碼如下,復(fù)制即可使用。4GG28資訊網(wǎng)——每日最新資訊28at.com

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><style>#DropFrame {width: 360px;height: 120px;background-color: #b8deff;border: solid 1px #3470ff;}</style></head><body><!-- 拖拽區(qū)域 --><div id="DropFrame">文件拖到這里上傳</div></body><script>let dropFrame = document.getElementById('DropFrame');// 拖動元素在目標(biāo)元素上懸停期間dropFrame.addEventListener('dragover', (e) => {// 阻止默認(rèn)事件和冒泡 必須寫e.stopPropagation();e.preventDefault();});// 拖動元素在目標(biāo)元素上釋放時(shí)觸發(fā)dropFrame.addEventListener('drop', (e) => {// 阻止默認(rèn)事件和冒泡 必須寫e.stopPropagation();e.preventDefault();// 文件上傳處理邏輯let items = e.dataTransfer.items;for (const item of items) {// 提取Entry對象const entry = item.webkitGetAsEntry();if (entry.isFile) {// 處理文件,拿到File文件entry.file((file) => {console.log(file, 'file');// 上傳文件到服務(wù)器// var formData = new FormData();// formData.append('file', file);// axios.post('/upload', formData, {})})} else {// 處理文件夾,拿到FileEntry對象const reader = entry.createReader()reader.readEntries((entries) => {reHandleFile(entries)})}}});// 如果文件夾是多級,則遞歸讀取const reHandleFile = (entries) => {for (const entry of entries) {if (entry.isFile) {// 處理文件,拿到File文件entry.file((file) => {console.log(file, 'file');// 上傳文件到服務(wù)器// var formData = new FormData();// formData.append('file', file);// axios.post('/upload', formData, {})})} else {// 處理文件夾,拿到FileEntry對象const reader = entry.createReader()reader.readEntries((entries) => {// 遞歸reHandleFile(entries)})}}}</script></html>

(3)小結(jié)

本文簡單介紹了,元素拖拽的6個(gè)API,以及文件拖拽上傳的實(shí)現(xiàn)過程。4GG28資訊網(wǎng)——每日最新資訊28at.com

元素拖拽的6個(gè)API,這里我們只需要使用dragover、drop這兩個(gè),就能實(shí)現(xiàn)文件拖拽上傳。4GG28資訊網(wǎng)——每日最新資訊28at.com

值得注意的是,必須阻止事件默認(rèn)行為,否則文件是拖不上去的,會被瀏覽器所阻止。4GG28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-75359-0.htmlVue3問題:如何實(shí)現(xiàn)拼圖驗(yàn)證+郵箱登錄功能?前后端!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 如何在Rust中操作JSON,你學(xué)會了嗎?

下一篇: 強(qiáng)烈推薦強(qiáng)大的規(guī)則引擎框架LiteFlow

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产精品扒开腿做爽爽爽软件| 久久久久久久网| 亚洲激情图片小说视频| 亚洲黄色三级| 日韩天堂av| 亚洲欧美日韩一区二区在线 | 欧美激情女人20p| 欧美日韩国产二区| 国产精品丝袜白浆摸在线| 国产日韩欧美另类| 亚洲国产一区在线| 亚洲一区精品在线| 久久影院午夜论| 欧美午夜剧场| 黄色欧美成人| 亚洲私人影院在线观看| 久久九九久久九九| 欧美日本韩国一区| 国产日韩在线一区二区三区| 亚洲人成绝费网站色www| 亚洲小视频在线观看| 久久女同互慰一区二区三区| 欧美日韩和欧美的一区二区| 国产一区二区三区高清播放| 亚洲精品久久嫩草网站秘色| 欧美一区二区视频在线| 欧美激情在线| 狠狠色综合色综合网络| 一区二区三区日韩欧美精品| 久久久久国产一区二区三区四区 | 在线播放中文字幕一区| 一本一道久久综合狠狠老精东影业 | 欧美日韩国产成人精品| 国产一区二区三区四区五区美女 | 国产精品一区视频网站| 麻豆久久婷婷| 国内偷自视频区视频综合| 亚洲黄色免费网站| 欧美精品在线一区二区三区| 亚洲一区二区视频| 国产精品国产一区二区| 久久免费国产精品| 国产精品亚洲不卡a| 中文精品99久久国产香蕉| 欧美日韩影院| 亚洲福利在线视频| 销魂美女一区二区三区视频在线| 欧美日韩在线免费观看| 久久精品一区中文字幕| 亚洲丁香婷深爱综合| 欧美日韩人人澡狠狠躁视频| 久久成年人视频| 亚洲电影av| 美女在线一区二区| 91久久国产综合久久| 激情综合自拍| 欧美jizzhd精品欧美巨大免费| 久久午夜国产精品| 欧美成人精品一区二区三区| 老司机午夜精品视频| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲电影免费观看高清完整版| 国产精品极品美女粉嫩高清在线| 国产精品视频专区| 国产综合色产在线精品| 欧美无砖砖区免费| 久久成人国产精品| 99国产精品视频免费观看| 久久久久久久综合色一本| 99精品欧美一区二区三区综合在线| 亚洲激情视频网站| 亚洲国产精品热久久| 亚洲第一在线综合网站| 日韩一区二区精品在线观看| 亚洲欧美另类在线观看| 久久久久久久激情视频| 欧美成人亚洲成人| 99人久久精品视频最新地址| 亚洲午夜久久久久久久久电影网| 欧美 日韩 国产 一区| 一区二区三区在线观看视频 | 亚洲国产成人在线| 久久婷婷国产麻豆91天堂| 韩日在线一区| 久久先锋影音| 亚洲电影专区| 欧美精品www| 99国产精品久久久久久久久久 | 蜜臀va亚洲va欧美va天堂| 久久三级福利| 国语自产在线不卡| 久久综合999| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲福利视频二区| 欧美aⅴ一区二区三区视频| 亚洲国产精品悠悠久久琪琪| 欧美电影免费| a4yy欧美一区二区三区| 国产精品成av人在线视午夜片| 亚洲欧美激情视频在线观看一区二区三区| 国产精品第十页| 欧美一区高清| 激情文学一区| 欧美国产日韩视频| 中文欧美字幕免费| 国产欧美日韩高清| 久久久精彩视频| 最新日韩在线视频| 欧美日本一道本| 亚洲欧美精品伊人久久| 国产一区深夜福利| 欧美va天堂| 正在播放亚洲一区| 国产日韩精品久久| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲精品一区二区三区蜜桃久 | 国产欧美日韩精品专区| 久久久91精品国产| 亚洲人成免费| 国产精品久久久久久久久久久久久久| 香蕉成人伊视频在线观看| 雨宫琴音一区二区在线| 欧美电影电视剧在线观看| 亚洲性图久久| 一区二区三区亚洲| 欧美日韩国产精品一卡| 欧美一区二区三区四区在线| 亚洲国产精品久久久久婷婷884 | 国产日产高清欧美一区二区三区| 老鸭窝亚洲一区二区三区| 中文亚洲欧美| 国产专区欧美专区| 欧美精品啪啪| 欧美在线观看视频在线| 亚洲精品在线一区二区| 国产精品一页| 欧美福利电影网| 欧美亚洲免费高清在线观看| 亚洲国产欧美久久| 国产三级精品三级| 欧美日本成人| 久久久一本精品99久久精品66| 一本色道婷婷久久欧美| 黄色一区二区在线| 欧美先锋影音| 男男成人高潮片免费网站| 午夜精品福利一区二区三区av| 亚洲破处大片| 国产一区日韩二区欧美三区| 欧美日本韩国一区二区三区| 久久国产精品99精品国产| 一区二区欧美日韩| 狠狠网亚洲精品| 国产精品久久久久久模特| 免费中文日韩| 久久成人这里只有精品| 中文在线资源观看网站视频免费不卡 | 免费成人av在线看| 午夜精品一区二区三区在线视| 亚洲精品永久免费| 在线精品视频一区二区三四| 国产精品永久免费视频| 欧美日本不卡| 蜜臀久久99精品久久久久久9 | 久久久一本精品99久久精品66| 亚洲一区二区在线免费观看| 亚洲欧洲三级电影| 国模叶桐国产精品一区| 国产精品久久97| 欧美精品日韩一本| 久久在线免费观看视频| 欧美伊人精品成人久久综合97| 国产精品99久久久久久久久久久久| 在线精品高清中文字幕| 国产午夜精品一区理论片飘花| 国产精品99一区二区| 欧美精品入口| 欧美freesex交免费视频| 久久久久久久欧美精品| 欧美一站二站| 午夜国产不卡在线观看视频| 一区二区三区 在线观看视频| 91久久精品国产91久久性色| 一色屋精品视频免费看| 国产一区在线看| 国产日韩在线视频| 国产日韩精品一区观看 | 亚洲第一中文字幕在线观看| 精品999日本| 国际精品欧美精品| 国产手机视频精品| 国产日韩成人精品| 国产美女精品在线| 国产欧美日韩在线观看| 国产精品网站在线播放| 国产精品裸体一区二区三区| 欧美午夜一区| 国产精品高清在线观看| 国产精品久久久久久av下载红粉 | 亚洲永久免费视频| 亚洲综合色激情五月| 欧美亚洲三级| 久久av一区二区三区| 久久精品国产亚洲一区二区三区 |