亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

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

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

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

上傳文件

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

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

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

可以使用accept屬性規定文件上傳的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 + '字節'
    } else {
        result.innerHTML = '沒有選擇任何文件';
    }
});
</script>

頁面拖拽操作

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

  • dragstart 拖拽開始
  • drag 正在拖拽
  • dragend 拖拽結束
<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 = '結束'
    }
</script>

想要拖拽元素,必須設置draggable屬性

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

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

投放區的事件

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

  • 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 = '結束'
    }
</script>

而drop則是監聽被拖拽物拖拽到投放區并松開鼠標的事件,他可以接收到dataTransfer中的數據,所以我們的頁面內拖拽可以寫成如下效果:

<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)會導致拖拽到投放區域外的時候瀏覽器默認搜索設置的值。如果需要,我們可以屏蔽它
  • 對于火狐瀏覽器,沒有e.dataTransfer.setData(key,value)還不行。我們可以直接設置鍵值對為null,"";
  • 最新版本的谷歌和火狐瀏覽器沒有發現問題
  • drop事件并不能直接觸發,因為默認的松開鼠標我們的拖拽物會返回原來的位置,并不會掉落,所以我們應該阻止投放區域的默認事件.

拖拽文件上傳

經過觀察,事件對象中的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);
}

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

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

巨人網絡通訊聲明:本文標題《HTML5拖拽文件上傳的示例代碼》,本文關鍵詞  HTML5,拖拽,文件,上傳,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《HTML5拖拽文件上傳的示例代碼》相關的同類信息!
  • 本頁收集關于HTML5拖拽文件上傳的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    久久精品大片| 欧美爱色| 日本免费看视频| 天天做日日干| 国产一区二区精品| 91麻豆精品国产片在线观看| 中文字幕一区二区三区 精品| 精品视频免费看| 天天做日日干| 欧美激情一区二区三区中文字幕| 日韩中文字幕在线观看视频| 色综合久久天天综线观看| 香蕉视频一级| 精品美女| 成人影视在线播放| 亚久久伊人精品青青草原2020| 成人免费网站视频ww| 一本伊大人香蕉高清在线观看| 一级女性大黄生活片免费| 欧美激情一区二区三区视频高清| 美女免费精品视频在线观看| 久久久成人影院| 国产高清在线精品一区a| 国产高清在线精品一区a| 久久精品人人做人人爽97| 香蕉视频一级| 精品视频在线观看免费| 一级毛片视频在线观看| 日韩免费在线观看视频| 九九久久99综合一区二区| 免费的黄视频| 日韩免费片| 国产成人精品影视| 久久99青青久久99久久| 日韩免费片| 高清一级片| 九九精品影院| 日本免费看视频| 日韩avdvd| 国产激情一区二区三区| 四虎影视久久久| 亚洲www美色| 欧美国产日韩精品| a级毛片免费全部播放| 天天色成人| 91麻豆精品国产自产在线| 日韩一级黄色片| 一级女性全黄久久生活片| 四虎论坛| 欧美日本韩国| 亚洲精品影院一区二区| 天堂网中文字幕| 国产网站在线| 国产视频网站在线观看| 美女被草网站| 精品在线观看国产| 日本特黄特黄aaaaa大片| 久久国产精品只做精品| 黄视频网站在线观看| 成人影院久久久久久影院| 国产成人精品在线| 亚欧成人乱码一区二区| 麻豆午夜视频| 精品视频在线看| 国产伦精品一区二区三区在线观看| 国产麻豆精品hdvideoss| 欧美激情伊人| 欧美爱色| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产不卡精品一区二区三区| 日韩免费在线观看视频| 亚洲 男人 天堂| 99久久精品国产国产毛片| 国产成人精品综合在线| 美女免费精品高清毛片在线视| 成人免费观看视频| 久久99这里只有精品国产| 日韩中文字幕在线亚洲一区| 国产不卡在线播放| 国产一区二区精品久| 免费一级片在线观看| 国产成人精品综合久久久| 欧美激情一区二区三区中文字幕| 日本乱中文字幕系列| 毛片高清| 午夜精品国产自在现线拍| 99热热久久| 亚洲 男人 天堂| 亚洲天堂在线播放| 免费毛片播放| 深夜做爰性大片中文| 欧美a级成人淫片免费看| 国产一区二区精品在线观看| 国产一区二区高清视频| 日本在线不卡视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 黄视频网站在线免费观看| 欧美激情一区二区三区视频| 国产高清在线精品一区二区 | 九九免费精品视频| 国产网站免费视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | a级黄色毛片免费播放视频| 香蕉视频三级| 韩国毛片免费| 亚洲精品影院久久久久久| 九九久久国产精品| 黄视频网站在线免费观看| 成人a大片高清在线观看| 精品国产亚一区二区三区| 成人高清免费| 日韩专区一区| 青青久久精品国产免费看| 一级片片| 欧美激情影院| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产伦精品一区三区视频| 91麻豆tv| 在线观看导航| 亚洲 男人 天堂| 精品国产亚洲人成在线| 夜夜操网| 久久成人亚洲| 999久久66久6只有精品| 日韩在线观看视频黄| 国产美女在线观看| 一级毛片看真人在线视频| 九九免费精品视频| 日本免费乱理伦片在线观看2018| 久久精品大片| 亚洲天堂在线播放| 毛片高清| 欧美激情中文字幕一区二区| 一级毛片视频在线观看| 精品国产一区二区三区久| 日韩免费片| 欧美激情在线精品video| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美激情伊人| 999久久66久6只有精品| 免费一级生活片| 国产伦精品一区三区视频| 99久久精品国产高清一区二区 | 日韩在线观看视频黄| 精品久久久久久中文字幕一区 | 精品视频在线看 | 精品视频在线观看一区二区| 久久福利影视| 成人a大片在线观看| 一级毛片视频在线观看| 亚久久伊人精品青青草原2020| 亚洲精品久久玖玖玖玖| 91麻豆精品国产片在线观看| 国产成人精品一区二区视频| 亚洲第一视频在线播放| 国产精品自拍在线观看| 香蕉视频三级| 91麻豆爱豆果冻天美星空| 国产极品精频在线观看| 国产不卡精品一区二区三区| 韩国毛片免费大片| 999久久66久6只有精品| 日韩中文字幕在线观看视频| 九九久久国产精品| 亚洲精品中文字幕久久久久久| 99色视频在线观看| 欧美一区二区三区性| 国产视频一区二区三区四区| 国产成人精品在线| 一本伊大人香蕉高清在线观看| 精品视频在线观看一区二区| 国产精品自拍在线| 99久久精品国产片| 四虎精品在线观看| 久久99中文字幕| 欧美另类videosbestsex久久| 国产一区二区精品久| 人人干人人草| 亚洲天堂免费观看| 国产伦精品一区三区视频| 国产成人精品综合在线| 欧美激情影院| 久草免费在线视频| 精品视频免费在线| 色综合久久天天综合| 国产视频一区二区在线观看| 欧美另类videosbestsex视频| 国产国语在线播放视频| 精品在线免费播放| 欧美激情在线精品video| 久久久久久久免费视频| 国产精品1024永久免费视频| 韩国三级视频在线观看| 国产91丝袜在线播放0| 香蕉视频一级| 一级毛片视频免费| 国产亚洲精品aaa大片| 国产国语对白一级毛片| 欧美a免费|