婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5拖拽文件上傳的示例代碼

HTML5拖拽文件上傳的示例代碼

熱門標簽:智能語音電銷機器人客戶端 江西ai電銷機器人如何 中國地圖標注城市的 地圖標注員工作內(nèi)容 高德地圖標注廁所 通遼地圖標注app 西安金倫外呼系統(tǒng) 威海語音外呼系統(tǒng)平臺 地圖標注沿海城市房價

上傳文件

HTML5新增了文件API,提供客戶端本地操作文件的可能.

我們可以通過file表單或拖放操作選擇文件,還可以通過JavaScript讀取文件的名稱、大小、類型、和修改時間.

file類型的input表單新增了files屬性,保存我們上傳文件的信息,如果要實現(xiàn)多文件上傳,可以設(shè)置input的multiple屬性.

可以使用accept屬性規(guī)定文件上傳的MIME類型 例如’image/jpeg’

<form action="#">
        <div class="form-group">
            <label for="input_1">請選擇文件</label>
            <input id="input_1" class="form-control" name="input_1" type="file">
        </div>
        <div class="form-group">
            <button id="btn_1" class="btn btn-default" type="button">讀取文件信息</button>
        </div>
</form>
<pre id="result"></pre>
</div>
<script>
var btn = document.querySelector('#btn_1');
var input = document.querySelector('#input_1');
btn.addEventListener('click', function() {
    // 獲取文件域中選擇的文件
    // var file = input.files[0];
    var file = input.files.item(0);
    if (file) {
        result.innerHTML =
            '文件名:' + file.name + '\n文件最近修改時間:' + file.lastModifiedDate+ '\n文件類型:' + file.type + '\n文件大小:' + file.size + '字節(jié)'
    } else {
        result.innerHTML = '沒有選擇任何文件';
    }
});
</script>

頁面拖拽操作

對于被拖拽的元素,HTML5增加了三個事件用于監(jiān)聽拖拽的過程

  • dragstart 拖拽開始
  • drag 正在拖拽
  • dragend 拖拽結(jié)束
<body>
    <div id="one" style="width: 300px;height: 300px;border: 1px solid red"></div>
    <div id="two" style="width: 100px;height: 100px;border: 1px solid blue" draggable="true"></div>
</body>
<script type="text/javascript">
    two.ondragstart = function(e){
        // e.preventDefault();
        console.log(e);
        e.dataTransfer.setData("Text",e.target.id);
        console.log(e.dataTransfer.getData("Text",e.target.id));
        one.innerHTML = '開始'
    }
    two.ondrag = function(e){
        one.innerHTML += '拖動中'
    }
    two.ondragend = function(e){
        one.innerHTML = '結(jié)束'
    }
</script>

想要拖拽元素,必須設(shè)置draggable屬性

頁面默認的動作是拖拽后回到原位

在拖動階段,我們可以存儲被拖動元素的屬性或者狀態(tài)到事件對象的dataTransfer中,如果出現(xiàn)跳轉(zhuǎn),則是瀏覽器默認的事件被觸發(fā),我們需要使用e.preventDefault()來阻止默認事件。

投放區(qū)的事件

對于被拖的元素而言,拖向何處則為投放區(qū),投放區(qū)的事件如下:

  • dragenter 被拖放元素進入
  • dragover 被拖放元素移動
  • dragleave 被拖放元素離開
<body>
    <div id="one" style="width: 300px;height: 300px;border: 1px solid red"></div>
    <div id="two" style="width: 100px;height: 100px;border: 1px solid blue" draggable="true"></div>
</body>
<script type="text/javascript">
    one.ondragenter = function(e){
        // e.preventDefault();
        console.log(e);
        one.innerHTML = '開始'
    }
    one.ondragover = function(e){
        one.innerHTML += '拖動中'
    }
    one.ondragleave = function(e){
        one.innerHTML = '結(jié)束'
    }
</script>

而drop則是監(jiān)聽被拖拽物拖拽到投放區(qū)并松開鼠標的事件,他可以接收到dataTransfer中的數(shù)據(jù),所以我們的頁面內(nèi)拖拽可以寫成如下效果:

<style type="text/css">
    *{
        box-sizing: border-box;
    }
</style>
<body>
    <div id="one" style="width: 300px;height: 300px;border: 1px solid red"></div>
    <div id="two" style="width: 100px;height: 100px;border: 1px solid blue;display: flex;">
        <div style="width: 50px;height: 100px;border:1px solid black;">第一個</div>
        <div style="width: 50px;height: 100px;border:1px solid pink;">第二個</div>
    </div>
</body>
<script type="text/javascript">
one.ondragover = function(e) {
    e.preventDefault();
}
two.onmousedown = function(e){
    e.target.draggable = true;
    e.target.ondragstart = function(ev) {
        ev.dataTransfer.setData("Text", ev.target.innerHTML);
    }
    e.target.ondragend = function(){
        two.removeChild(this)
    }
}
one.ondrop = function(e) {
    var div = document.createElement('div')
    div.style = "width: 50px;height: 100px;border:1px solid black;"
    div.innerHTML = e.dataTransfer.getData("Text")
    this.appendChild(div)
}
</script>
  • 對于谷歌瀏覽器,e.dataTransfer.setData(key,value)會導(dǎo)致拖拽到投放區(qū)域外的時候瀏覽器默認搜索設(shè)置的值。如果需要,我們可以屏蔽它
  • 對于火狐瀏覽器,沒有e.dataTransfer.setData(key,value)還不行。我們可以直接設(shè)置鍵值對為null,"";
  • 最新版本的谷歌和火狐瀏覽器沒有發(fā)現(xiàn)問題
  • drop事件并不能直接觸發(fā),因為默認的松開鼠標我們的拖拽物會返回原來的位置,并不會掉落,所以我們應(yīng)該阻止投放區(qū)域的默認事件.

拖拽文件上傳

經(jīng)過觀察,事件對象中的dataTransfer也存在files屬性,我們可以用熟悉的方法上傳拖拽進來的文件:

<body>
    <div id="one" style="width: 300px;height: 300px;border: 1px solid red"></div>
</body>
<script type="text/javascript">
one.ondragover = function(e) {
    e.preventDefault();
}
one.ondrop = function(e) {
    e.preventDefault()
    console.log(e.dataTransfer.files[0]);
}
</script>

然后做Ajax文件上傳即可

one.ondrop = function(e) {
    e.preventDefault()
    var file = e.dataTransfer.files[0];
    var formData = new FormData();
    formData.append("aa", file);
    var xml = new XMLHttpRequest();
    xml.open("post", url, false);
    xml.send(formData);
}

到此這篇關(guān)于HTML5拖拽文件上傳的示例代碼的文章就介紹到這了,更多相關(guān)HTML5拖拽上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標簽:崇左 阜陽 青海 晉中 營口 北海 眉山 河池

巨人網(wǎng)絡(luò)通訊聲明:本文標題《HTML5拖拽文件上傳的示例代碼》,本文關(guān)鍵詞  HTML5,拖拽,文件,上傳,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5拖拽文件上傳的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5拖拽文件上傳的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲综合激情网| 天堂一区二区在线免费观看| 国产精品女人毛片| 国产精品一区二区久激情瑜伽 | 午夜精品福利一区二区蜜股av| 成人一区在线观看| 国产精品免费网站在线观看| 成人免费视频网站在线观看| 中文在线一区二区| 色菇凉天天综合网| 爽爽淫人综合网网站| 欧美精品一区二区三区很污很色的| 国产一级精品在线| 国产精品久久久久久妇女6080| 一本久道久久综合中文字幕| 亚洲国产综合色| 日韩欧美成人一区二区| 国产电影一区在线| 亚洲线精品一区二区三区八戒| 欧美疯狂做受xxxx富婆| 国产麻豆一精品一av一免费| 国产精品久久夜| 5566中文字幕一区二区电影| 国产福利不卡视频| 无吗不卡中文字幕| 国产亚洲精品7777| 欧美手机在线视频| 国产精品一区免费视频| 婷婷开心久久网| 国产精品私人自拍| 日韩久久免费av| 91国产免费观看| 国产一区二区h| 日韩一区精品字幕| 亚洲美女精品一区| 精品国免费一区二区三区| 在线观看91视频| 成人一区二区三区视频| 美女尤物国产一区| 亚洲综合色婷婷| 亚洲天堂福利av| 久久精品欧美日韩| 日韩精品影音先锋| 欧美日韩成人在线一区| aaa欧美色吧激情视频| 卡一卡二国产精品 | 青青草伊人久久| 一区二区三区毛片| 日韩视频一区在线观看| 国产成人av电影免费在线观看| 国产精品女人毛片| 99久久久久免费精品国产| 久久精品国产久精国产爱| 亚洲国产成人av网| 亚洲三级久久久| 久久美女艺术照精彩视频福利播放| 欧美日韩三级在线| 在线观看一区二区视频| 一本大道av伊人久久综合| av午夜一区麻豆| 国产a视频精品免费观看| 国产一区不卡精品| 日韩电影一区二区三区四区| 亚洲国产成人高清精品| 亚洲高清中文字幕| 亚洲动漫第一页| 一区二区成人在线观看| 一区二区三国产精华液| 樱花影视一区二区| 亚洲国产aⅴ天堂久久| 亚洲chinese男男1069| 偷拍一区二区三区| 久久99精品网久久| 日产国产高清一区二区三区 | 精品一区二区三区在线播放视频| 亚洲国产日韩一级| 亚洲第一激情av| 丝袜国产日韩另类美女| 久99久精品视频免费观看| 国产一区二区精品久久99| av不卡在线观看| 色婷婷国产精品| 欧美欧美午夜aⅴ在线观看| 在线播放/欧美激情| 欧美mv日韩mv亚洲| 国产精品麻豆一区二区| 一区二区三区免费在线观看| 亚洲大片免费看| 久久99国产精品麻豆| 国产精品91一区二区| 99riav久久精品riav| 日韩西西人体444www| 久久噜噜亚洲综合| 亚洲图片欧美视频| 极品少妇xxxx偷拍精品少妇| 成人美女视频在线观看| 在线播放中文一区| 国产精品久久久久久久蜜臀| 五月开心婷婷久久| av在线不卡免费看| 日韩亚洲国产中文字幕欧美| 国产精品久久久久久妇女6080| 日韩国产精品久久久久久亚洲| 国产一区亚洲一区| 91性感美女视频| 精品国产一区二区三区av性色| 国产精品福利电影一区二区三区四区| 亚洲va中文字幕| 成人午夜免费av| 日韩精品最新网址| 亚洲va在线va天堂| 成人高清视频在线观看| 91精品国产综合久久久久久漫画 | 91精品国产乱| 亚洲精品免费在线播放| 国产成人在线色| 精品欧美一区二区在线观看| 亚洲精品乱码久久久久久久久 | 日韩欧美在线一区二区三区| 亚洲精品国产一区二区三区四区在线| 九一九一国产精品| 欧美一区二区在线免费播放| 亚洲一区二区精品3399| 99re视频精品| 国产精品国产馆在线真实露脸| 久88久久88久久久| 日韩欧美一区中文| 三级欧美韩日大片在线看| 欧美在线你懂的| 亚洲免费视频成人| 91在线视频免费91| 亚洲天堂2016| 在线观看网站黄不卡| 一片黄亚洲嫩模| 在线亚洲欧美专区二区| 亚洲色图丝袜美腿| 日本福利一区二区| 一区二区三区日韩精品| 欧美少妇一区二区| 午夜精品久久久久久久99樱桃| 欧美日韩一级片网站| 日日摸夜夜添夜夜添国产精品 | 一级中文字幕一区二区| 99久久精品免费看国产免费软件| 欧美国产日产图区| 不卡视频一二三四| 亚洲精品水蜜桃| 91精品综合久久久久久| 久久99精品网久久| 欧美国产1区2区| 色诱亚洲精品久久久久久| 无吗不卡中文字幕| 久久亚洲影视婷婷| av在线不卡免费看| 亚洲r级在线视频| 久久麻豆一区二区| 在线免费观看一区| 久久99久久99小草精品免视看| 国产亚洲人成网站| 欧美三区在线观看| 极品少妇xxxx精品少妇| 国产欧美一区二区三区在线看蜜臀 | 国产不卡视频在线播放| 国产精品理论片在线观看| 色诱视频网站一区| 美女在线视频一区| 欧美韩日一区二区三区四区| 欧美性大战xxxxx久久久| 久久99热狠狠色一区二区| 中文成人综合网| 欧美日韩卡一卡二| 国产一区二区日韩精品| 亚洲一二三区不卡| 国产欧美日韩综合| 91黄色免费观看| 国产麻豆精品theporn| 亚洲一区成人在线| 国产午夜精品久久久久久免费视| 91污片在线观看| 精品一区二区久久久| 亚洲欧美日韩国产手机在线| 日韩一级片在线播放| 91麻豆免费视频| 国产精品一线二线三线精华| 一区二区三区精品| 国产精品网曝门| 精品久久一二三区| 欧美色成人综合| 99视频热这里只有精品免费| 精品一区二区三区av| 亚洲国产一区二区视频| 国产精品初高中害羞小美女文| 717成人午夜免费福利电影| av中文字幕在线不卡| 国产成人精品一区二| 蜜桃精品在线观看| 日本午夜一区二区| 午夜视频一区二区| 亚洲国产cao| 亚洲成a天堂v人片|