atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结

1. DND的操作流程 1

2. Html5 注解事件 document.dragover >>preventDefault 1

3. 代码(js) 1

4. C++ 实现拖曳 2

5. QT拖拽功能简介 - pcsuite的专栏 - 博客频道 - CSDN.NET.htm 2

1. DND的操作流程

Dragenter 事件::更改提示的颜色..自动改变光标状态指示用户当前的控件是否是一个合法的drop地点

dragleave事件::更改提示的颜色.

Drop 事件:处理文件..不过,好像html子能有文件名称,马文件路径..

注释::::拖曳距离,,  如果这个距离大于QApplication认定的拖动的最小距离(通常为四个象素),调用私有函数startDrag()开始拖动。通过判断距离可以避免因为用户手抖动引起的误操作

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. Html5 注解事件 document.dragover >>preventDefault

调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)

3. 代码(js)

<script>

handleFiles = function(files) {

for (var i = 0; i < files.length; i++) {

var file = files[i];

alert("aa"+file);

}

}

document.addEventListener("dragenter", function(e){

dropbox.style.borderColor = 'gray';

}, false);

document.addEventListener("dragleave", function(e){

dropbox.style.borderColor = 'silver';

}, false);

document.addEventListener("dragover", function(e){

e.stopPropagation();

e.preventDefault();

}, false);

document.addEventListener("drop", function(e){

e.stopPropagation();

e.preventDefault();

alert(e.dataTransfer.files);

handleFiles(e.dataTransfer.files);

//  submit.disabled = false;

}, false);

4. C++ 实现拖曳

雅十enter跟个drag事件..

void MainWindow::dragEnterEvent(QDragEnterEvent *event)

{

if (event->mimeData()->hasFormat("text/uri-list"))

event->acceptProposedAction();

}

void MainWindow::dropEvent(QDropEvent *event)

{

QList<QUrl> urls = event->mimeData()->urls();

if (urls.isEmpty())

return;

QString fileName = urls.first().toLocalFile();

if (fileName.isEmpty())

参考

HTML5文件实现拖拽上传 - caonidayecnblogs - 博客园.htm

5. QT拖拽功能简介 - pcsuite的专栏 - 博客频道 - CSDN.NET.htm

atitit.DD dragdrop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结相关推荐

  1. Atitit。DD dragdrop拖拽功能c#.net java swing的对比与实现总结

    Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ...

  2. pyqt界面支持拖拽文件

    问题 之前使用pyqt写过一个升级工具, 使用的过程中发现每次通过文件选项框选择文件太过于麻烦,如果可以支持拖拽文件进入就简便很多,于是去查了一下更新了一下工具; 结果 因为我使用的组件是QLineE ...

  3. win10安装vmware tools + 无法拖拽文件解决

    1.加载VMware Tools安装光盘 打开虚拟机VMware Workstation,启动 Ubuntu 系统 菜单栏 - 虚拟机 - 安装VMware Tools. 2.将安装文件提取到本地磁盘 ...

  4. LINUX:Ubuntu重装虚拟机后无法拖拽文件的解决方法

    花了3小时尝试了网络上绝大部分方法解决无法拖拽文件的问题,在最后发现只是在错误的地方拖动文件,才导致一直不成功.在这里将安装vmtools遇到的问题和解决方法罗列出来供参考. 目录 实际解决方法(基于 ...

  5. VMware主机与虚拟机不能拖拽文件终极解决方法

    VMware主机与虚拟机不能拖拽文件解决方法 主要问题根源在于你没有安装VMware Tools 只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可 ...

  6. MFC编程 -- 实现拖拽文件获取路径

    一.设置界面,拖拽一个编辑框到窗口,设置好大小,将接收文件属性改为true 二.源代码 1.添加消息事件 case WM_DROPFILES:return 拖拽文件(hwndDlg, (HDROP)w ...

  7. H5中的拖拽文件上传-----------------需修改,需测试

    一:介绍 1.内容摘要 2.主要设计的技术 3.drag与drop事件 4.drag与drop的部分重要代码 5.File Api 6.formData 二:程序演示 1. 1 <!DOCTYP ...

  8. Java 拖拽文件到文本框

    Java中如何把文件拖拽到文本框呢? 先看一个例子:     核心代码: Java代码   /*** * 拖拽文件到文本框 * @param component */ public void drag ...

  9. php 拖动多个文件上传,dropzone拖拽文件上传一次上传多个文件的方法

    用dropzone插件拖拽文件上传默认情况是把一个文件拖到浏览器后就立即自动上传,参考前文<用dropzone插件拖拽文件上传>,如果需要一次上传多个文件怎么办?本文将介绍其实现方法. d ...

  10. Win7下拖拽文件的bug

    今天突然发现,在Win7用管理员身份运行,拖拽文件到窗体上,既然不响应消息, 而用普通方式运行,一切正常,不知道是什么原因. 代码如下: void CPeInfoDlg::OnDropFiles(HD ...

最新文章

  1. 2021-2027全球与中国跨临界二氧化碳系统市场现状及未来发展趋势报告
  2. 题库练习2(随机数去重排序、分割字符串、进制转换)
  3. 网络与IO知识扫盲(六):多路复用器
  4. 一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)
  5. php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...
  6. 字符串的规范使用(二)
  7. 指针知识(四):指针数学计算
  8. 解决utf8编码的php生成csv打开乱码的问题
  9. 四、RabbitMQ消息消费时的权衡
  10. 《Power Designer系统分析与建模实战》——1.4 本章小结
  11. PyTorch 和 TensorFlow 引领未来
  12. info - 阅读 info 文档
  13. python使用pip安装_Python pip 安装与使用
  14. wsdl2java 参数_wsdl2java参数详解
  15. leach算法的实现过程_LEACH分簇算法实现和能量控制算法实现(示例代码)
  16. 计算机睡眠和休眠哪个更好,详解电脑睡眠和休眠的区别
  17. PHP实现微信网页登陆授权开发
  18. ICT融合和创新带来制造业的持续变革
  19. PC机通过二层交换机连接三层交换机
  20. 考研和计算机三级,考研考计算机与考软件有什么区别吗

热门文章

  1. 设置mysql的schema_MySQL Performance-Schema(一) 配置篇
  2. DBCC CHECKIDENT 和SET IDENTITY_INSERT table OFF
  3. Nginx 关于 location 的匹配规则详解
  4. 面试之函数节流和函数防抖
  5. 使用虚拟环境 virtualenv
  6. 关于Spring Cloud Eureka
  7. 娇小可人女友9号 4K无反相机松下GF9评测
  8. Servlet与JSP项目实战 — 博客系统(上)
  9. SSH中各个框架的作用以及Spring AOP,IOC,DI详解
  10. [热门]Android系统特质 不需要太多剩余内存