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