h5 拖放 | Filereader | 音頻、視頻 | 地理信息

拖放 drag

在標籤中添加draggable="true",標籤便可拖動。html

七個事件

1.ondragstart 拖放開始
2.ondrag 拖放中
3.ondragend 拖放結束
4.ondragenter 拖拽其餘元素進入綁定事件的元素(從鼠標進入算進入)
5.ondragover 拖拽其餘元素進入綁定事件的元素後(持續發生,同ondrag)
6.ondragleave 拖拽其餘元素離開綁定事件的元素(從鼠標離開算離開)
7.ondrog 拖拽其餘元素到綁定事件的元素中鬆開
數組


看完上面gif圖的 有沒有發現, 前三個事件都觸發了, 爲啥第四個事件,drop 不會觸發呢? 爲何在黑框裏面放置紅方塊不會觸發,在外面放置也不會觸發?
這是由於,ondragover這個事件有一個默認行爲,在 ondragover的最後默認被拖拽的元素回到原位(我是這麼理解的),這樣就解釋了,在被綁定元素中鬆開了拖拽元素,沒有觸發ondrog而是觸發了ondragleave。
若是你想完成的操做是,把紅色的塊放到咱們綁定事件的盒子中鬆開 從而觸發事件ondrog,那麼就阻止ondragover的默認行爲
box.ondragover = function(e){
e.preventDefault();
console.log('over');
}
這樣就能夠觸發ondrog。
同時,阻止了ondragover的默認行爲後,把紅色的塊放到咱們綁定事件的盒子中鬆開這個操做再也不觸發ondragleave,只觸發ondrog。
更多參考: www.cnblogs.com/yanggeng/p/…

Filereader

q是上傳按鈕,q.files是一個數組,是上傳文件的數組

添加屬性multiple按鈕就可上傳多個文件

不傳參event也能夠和上面同樣寫

必須有這一步轉碼否則沒法觸發onload,也就是說這一步纔是讀取的靈魂,纔會有onload讀取完畢。

讀取文件的方法

讀取文件能夠觸發的事件

音頻、視頻

移步: www.w3school.com.cn/tags/html_r…
h5標籤 audio 服務器

h5標籤 video

地理信息

一方面要發佈到服務器上進行使用。dom

另外一個方面發佈到服務器上之後必定是https協議才能夠的ide

getCurrentPosition() 方法 - 返回數據

Geolocation 對象 - 其餘有趣的方法

推薦閱讀下面這個文章

blog.csdn.net/Jioho_chen/…svg

h5的地理位置獲取侷限性過低.net

Canvas和svg比較

相關文章
相關標籤/搜索