HTMLJS拖拽文件操作,Drop使用jshtmlH5
时间:2023-04-02 17:28:56
HTML
HTMLJS拖拽文件操作,Drop使用jshtmlH5MDN:https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/File_drag_and_drop的拖拽文件操作是指将文件拖拽到指定的HTML元素上,然后处理要实现的功能。实现拖动文件的操作,需要以下步骤:指定drop元素处理ondrop事件1.指定drop元素拖动文件时放置文件的元素
二、处理相应的事件ondragover当拖动到这个元素上,但是还没有释放ondragleave当离开这个元素时ondragend当拖动结束时ondrop到指定元素上释放拖动这里移动操作中我们主要需要处理两个事件,ondrop和ondragoverondragover处理拖动时的界面反馈,因为拖动到接收到的文件对应的元素时,dom不会改变,界面也不会改变。但是这个时候,你需要给用户一个反馈,让他知道拖拽操作有效,给用户一个反馈:背景颜色变化,文字提示等,这些操作都需要在ondragover上进行。例如,添加一个改变背景颜色的类。
函数handleDragOver(event){$('.container').classList.add('on-hover')}ondrop在你松开鼠标时处理文件操作。ondrop是当您释放鼠标时将触发的事件。在这里写下你需要处理的事情。就是这样。事件中有一个dataTransfer,里面包含了被拖拽的文件列表文件项。可以直接使用event.dataTransfer.files获取文件列表,也可以使用event.dataTransfer.items获取拖拽的item,然后将其转换为文件处理,可以从下面的链接查看示例。通常,您可以直接使用文件。需要添加event.preventDefaults()来避免浏览器的默认动作:直接打开被拖拽的文件。functionhandleDragOver(event){$('.container').classList.add('on-hover')}functionhandleDragEnd(){$('.container').classList.remove('on-hover')}函数handleDrag(event){handleDragEnd()//去掉接口反馈event.preventDefault()//防止浏览器默认打开拖拽的文件letfiles=event.dataTransfer.files;console.log(event)showFiles(files)//去文件显示操作}比如我写了一个拖拽图片查看图片的页面:https://kylebing.cn/test/drop/