<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        如何實現文件拖拽上傳

        來源:懂視網 責編:小采 時間:2020-11-27 20:11:56
        文檔

        如何實現文件拖拽上傳

        如何實現文件拖拽上傳:拖拽選擇文件屏蔽默認事件剛開始的時候,是在網上找了一個例子,這個例子中提到,需要在document上屏蔽和drag相關的所有事件的默認處理方式,代碼如下:$(document).on({ dragleave:function(e){ //拖離 e.preventDefault(); }, dr
        推薦度:
        導讀如何實現文件拖拽上傳:拖拽選擇文件屏蔽默認事件剛開始的時候,是在網上找了一個例子,這個例子中提到,需要在document上屏蔽和drag相關的所有事件的默認處理方式,代碼如下:$(document).on({ dragleave:function(e){ //拖離 e.preventDefault(); }, dr

        拖拽選擇文件

        屏蔽默認事件

        剛開始的時候,是在網上找了一個例子,這個例子中提到,需要在document上屏蔽和drag相關的所有事件的默認處理方式,代碼如下:

        $(document).on({ 
         dragleave:function(e){ //拖離 
         e.preventDefault(); 
         }, 
         drop:function(e){ //拖后放 
         e.preventDefault(); 
         }, 
         dragenter:function(e){ //拖進 
         e.preventDefault(); 
         }, 
         dragover:function(e){ //拖來拖去 
         e.preventDefault(); 
         } 
         });

        實際上,在我們的文件上傳中,接受拖拽的區域一般只有一個小區域,所以我對其做了如下的精簡

        $drop.on("dragenter", function (e) {
         e.preventDefault();
         console.log("enter");
         $drop.addClass("hover");});$drop.on("dragleave drop", function (e) {
         e.preventDefault();
         console.log("leave");
         $drop.removeClass("hover");});$drop.on("dragover", function (e) {
         e.preventDefault();})

        并且,在enter事件的時候,給目標區域增加了一個hover的樣式,讓接受區域高亮

        默認情況下是醬紫的,(所以在drop 和leave事件中要去掉這個樣式)

        對來源不同的文件進行處理

        因為要同時處理input框和拖拽區域,所以我的html結構如下:

         <p class="row" id="dropBox" @drop.prevent="Change($event)">
         <p class="import-data">
         <button 
         :class="{'disabled' : resultMsg.length > 0}" class="btn btn-info">
         <i class="fa fa-cloud-upload text"></i>
         選擇文件 
         </button>
         <span :class="{'error-tips':isError}">{{msg}}</span>
         <input 
         type="file" 
         v-show="resultMsg.length == 0" 
         @change="Change($event)" 
         name="importExcel" 
         class="importExcel" 
         value="" />
         </p>
         <br>
         <p class="loading" :style="'width:'+loading+'%'"></p>
         </p>

        #dropBox 的drop事件和input的change事件同時綁定Change函數并將event對象傳入函數中
        這里,我在drop事件上加入了prevent修飾符來屏蔽默認事件,如果不屏蔽事件,接受區域#dropBox 是無法接收到文件,并且文件會觸發瀏覽器的下載(如果不能直接預覽的話)或者預覽;

         Change:function(ev){
         var e = window.event || ev; 
         var file = e.target.files ? e.target.files[0] : e.dataTransfer.files[0];
         if(!file){
         vm.msg = "點擊選擇,或者拖拽填寫好數據的excel文件致此";
         vm.isError = true;
         return false
         } 
         },

        ps:隱去了js代碼中的業務邏輯只講述公共部分,

        在接受用戶選擇的文件時,用e.target.files作為判斷條件,來判斷是否有input選擇的文件,如果是則取 e.target.files[0] ,如果不是 則取 e.dataTransfer.files[0]
        這兩個事件對象的屬性是瀏覽器根據不同的情況掛在事件對象上的。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        如何實現文件拖拽上傳

        如何實現文件拖拽上傳:拖拽選擇文件屏蔽默認事件剛開始的時候,是在網上找了一個例子,這個例子中提到,需要在document上屏蔽和drag相關的所有事件的默認處理方式,代碼如下:$(document).on({ dragleave:function(e){ //拖離 e.preventDefault(); }, dr
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日韩亚洲国产综合高清| 水蜜桃亚洲一二三四在线| 亚洲一区二区三区深夜天堂| 免费一级毛片无毒不卡| 精品亚洲一区二区| 最新亚洲成av人免费看| 亚洲老妈激情一区二区三区| 99久久精品毛片免费播放| 亚洲综合日韩久久成人AV| 香蕉视频在线免费看| 久久精品亚洲一区二区| 久久精品国产这里是免费| 亚洲蜜芽在线精品一区| 四虎1515hh永久久免费| 亚洲伦理中文字幕| 日韩在线a视频免费播放| 亚洲AV无码专区在线厂| 免费中文字幕在线| 国产精品美女久久久免费| 亚洲综合日韩久久成人AV| 免费观看在线禁片| 亚洲国产精品综合久久网各 | 国产精品亚洲片在线观看不卡 | 国产成人+综合亚洲+天堂| 亚洲情a成黄在线观看| 人人揉揉香蕉大免费不卡| 亚洲国产精品综合一区在线| 日本精品人妻无码免费大全| 人人狠狠综合久久亚洲| 国产精品亚洲αv天堂无码| 99久久综合精品免费| 亚洲色少妇熟女11p| 亚洲无av在线中文字幕| 最近中文字幕完整免费视频ww| 久久精品亚洲AV久久久无码| 国产精品成人四虎免费视频| 国产一级黄片儿免费看| 亚洲一区二区三区播放在线| 亚洲午夜精品久久久久久浪潮| 日韩免费观看一区| 亚洲精品天堂成人片AV在线播放|