拖放 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比較