获取拖拽和剪贴板中的文件

news/2024/12/2 8:17:55/文章来源:https://www.cnblogs.com/anch/p/18580821

# 拖拽

拖拽会触发相关事件,就像 mouse 相关的事件一样

  • dragstart 拖动开始,该事件添加到被拖动的元素
  • dragenter 拖动行为到达某元素上方,该事件添加到被鼠标拖动时经过的元素
  • dragleave 与上一条相对应
  • dragover / dragout 这里需要注意的是,某些时候即便不需要使用这两个事件,也可能会触动事件默认行为,可能需要手动禁用其默认行为
  • drop 拖动结束事件,添加到拖动放置的元素上面以触发相关行为

从操作系统桌面拖动文件到浏览器,同样会触发拖动事件。我们需要做的就是在 drop 事件触发以后,从事件对象中获取到被拖拽的文件

如果拖动图片到 div 上后松手,总是会在新标签页中打开图片,那么尝试把 div 换成 input 吧,type 属性设置为 file 即可。

 

# 剪贴板

获取剪贴板中的文件,同样需要通过一个事件,paste 事件 -> Element:paste 事件 - Web API | MDN

一般情况下,只有在光标位于可编辑区域时,才会用到粘贴来粘贴文本。如果要转化粘贴内容,需要阻止事件的默认行为。

如果要获取剪贴板中的图片来进行上传,可以将 paste 事件添加到 window 或者 document 对象上面

如果页面中防止了 input 元素,这里注意将 input 元素的 click 事件的默认行为进行阻止,避免用户点击时打开文件选择器,当然如果这本来就是需要的,则无需此动作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#/.NET/.NET Core优秀项目和框架2024年11月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附…

小米10ultra 主摄

手机闪光灯补光,确实,1200w跟4800w没区别 IMG_20241202_023753.jpg 1200w ISO160 IMG_20241202_023803.jpg 4800w ISO160

Ubunutu24.04.1版本问题汇总

无法打开Jebrains Tools Ubuntu点击 Jebrains Tools 没有反应,主要原因是缺少依赖libfuse2, 因此我们需要安装 libfuse2 后再打开 Jetbrains Tools 即可 sudo apt install -y libfuse2 安装向日葵远程控制 Ubuntu安装向日葵报错缺少libgconf-2-4,但是安装libgconf-2-4却发现…

【比赛游记】2024 ICPC 昆明站游记

希望能带来好运!2024.11.6 FZU 申请到了 2024 ICPC 昆明站的一个额外名额,并分给了我和另外两位同学。感谢傅老师!感谢实验室的各位伙伴们! Day -1 坐飞机飞往云南,云层之上的晚霞很美。 晚上九点多,和队友 vp 了一把 2024 北京市赛(这是我们队的第一次训练 ...),由于…

装机软件汇总

装机软件汇总 一些个人用的软件 编程相关JetBrainCrackLinkVSCodeGitRedis Insight:Redis官方可视化连接Navicat Premium 15:数据库可视化Wireshark:抓包Sandboxie-Plus:沙箱VMware:虚拟机SSH终端MobaXtermTermius效率UTools:Alt + Space = anythingSnipaste:截图天若OC…

基于Jenkins构建微服务项目发布失败回滚

基于 Jenkins 构建微服务项目发布失败回滚 1 微服务项目发布失败回滚1.1 安装插件 Active Choices(动态生成选项) 1.2 编写获取 harbor 仓库镜像列表的脚本 [root@k8s-master1 ms_jenkins]# cat get_tags.sh#!/bin/bash​# Harbor的用户名USER="admin"# Harbor的密码…

三维模型文件格式解读

最近接触到三维模型文件,发现格式五花八门的,这里做一个汇总和解读。最近接触到三维模型文件,发现格式五花八门的,这里做一个汇总和解读。 STL 简介 STL,全称为STereoLithography,译作:立体光刻,由3D System软件公司创立。但因三角网格形式的其特点,又可以翻译为“标准…

开源 - Ideal库 - Excel帮助类,TableHelper实现(三)

讲解对象集合与DataTable相互转换,包括表格转对象集合需校验类型、列名对应,及解决结构体赋值问题;对象集合转表格、一维数组转表格、行列转置的方法及示例代码,测试源码已上传。书接上回,我们今天继续讲解实现对象集合与DataTable的相互转换。01、把表格转换为对象集合 该…

信息安全概论复习3

保密与安全文档保密密级术语密码体制 单钥密码体制(对称密码体制)加密方式双钥密码体制(非对称密码体制)(公钥体制)特点

优化企业博客内容:策略与ai工具的应用

在数字化营销日益重要的今天,企业博客不仅是品牌传播的重要渠道,也是吸引潜在客户、建立品牌权威性的关键工具。然而,要让企业博客真正发挥作用,关键在于内容的优化。本文将探讨优化企业博客内容的策略,并详细介绍如何利用HelpLook平台来实施这些策略,以提升博客的吸引力…

攻防世界-Decrypt-the-Message

一、题目 收到一首英文诗歌和一段密文,要求很简单,就是解密这个密文二、解题 1、背景知识PoemCode参考文章:https://blog.csdn.net/xiao__1bai/article/details/1202504522、解密 了解加密原理即可,解密过程很复杂,可以直接用现成的脚本脚本地址:https://github.com/abpoly…

请问PbootCMS 登录失败及表单提交校验失败的解决方案

在使用 PbootCMS 时,可能会遇到登录失败、表单提交校验失败等问题。以下是针对这些常见问题的详细解决方案。 一、登录失败或表单提交校验失败 描述:用户尝试登录时失败。 表单提交时校验失败。解决方案:检查服务器环境:确保服务器环境满足 PbootCMS 的最低要求。 检查 PHP 版…