atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
2. Html5 注解事件 document.dragover >>preventDefault 1
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
相关文章
- pycharm安装教程中文_java将对象转为json
- 学java用什么编译器_学习Java用什么编译软件好
- Java线程池详解「建议收藏」
- java实现ajax_Ajax&Java
- java 正则表达式语法_JAVA正则表达式语法大全
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- Java递归详解_java难不难学
- Java集合面试题_java是什么
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- c#面试题抽象类和接口的区别-程序员面试:面试官常问的Java面试题有哪些?
- JAVA判断中文字符详解编程语言
- Java将图片与base64编码相互转换详解编程语言
- JAVA数字大写金额转换详解编程语言
- Java学习笔记之六java三种循环(for,while,do……while)的使用方法及区别详解编程语言
- Java学习笔记之五java数组详解编程语言
- Java之浅克隆和深克隆详解编程语言
- java线程安全与共享资源详解编程语言
- 数据库解锁Java,优雅连接Oracle数据库(java使用oracle)
- 新手进阶:从Java开发到Linux系统架构(java转linux)
- Java问题-java进程占用内存过高,排查原因详解编程语言
- Java curentThread()方法的作用
- 数据库写入Java实现MySQL数据库的写入操作(java向mysql)
- 时间设置Java使用Redis设置数据过期时间(redisjava过期)
- 时间Java操作Redis实现数据过期管理(redisjava过期)
- 策略处理Redis Java过期策略的有效方式(redisjava过期)
- 服务如何在Linux上快速关闭Java服务(linux关闭java)
- 失效使用Redis和Java构建高效缓存系统(redisjava过期)
- 时间设置Redis中Java键值对的有效过期时间(redisjava过期)
- Java应用在Linux上乱码的原因及解决方法(java linux乱码)
- Java程序建立Oracle数据库表的实现方式(java建oracle表)
- Redis面试中Java相关技术面试题汇总(redis面试题java)
- JAVA读取文件夹大小的几种方法实例
- Java中弱引用和软引用的区别以及虚引用和强引用介绍
- Java基于高精度整型实现fibonacci数列的方法