html5拖拽,html5拖拽文件上传 跨域

html5拖动元素会触发哪些事件

拖拽发生过程

芝罘网站建设公司创新互联建站,芝罘网站设计制作,有大型网站制作公司丰富经验。已为芝罘1000多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的芝罘做网站的公司定做!

被拖拽元素

dragstart 按下鼠标键并开始移动鼠标时

drag 在dragstart事件之后,在元素被拖动期间会持续触发该事件

dragend 当拖动停止时,会触发dragend事件

放置目标元素

dragenter 有元素被拖动到放置目标上

dragover 紧随dragenter发生,在被拖动的元素

还在放置目标范围内移动时,会持续触发该事件

dragleave 在元素被拖出放置目标时触发

drop 元素被放到了放置目标中触发

注释:拖拽发生过程:dragstart-drag-dragenter-dragover-dragleave/drop-dragend

怎样用html5实现拖拽上传文件

,首先要判断拖入的文件是否符合要求,包括图片类型、大小等,然后获取本地图片信息,实现预览,最后上传。

$(function(){

...接上部分

var box = document.getElementById('drop_area'); //拖拽区域

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

e.preventDefault(); //取消默认浏览器拖拽效果

var fileList = e.dataTransfer.files; //获取文件对象

//检测是否是拖拽文件到页面的操作

if(fileList.length == 0){

return false;

}

//检测文件是不是图片

if(fileList[0].type.indexOf('image') === -1){

alert("您拖的不是图片!");

return false;

}

//拖拉图片到浏览器,可以实现预览功能

var img = window.webkitURL.createObjectURL(fileList[0]);

var filename = fileList[0].name; //图片名称

var filesize = Math.floor((fileList[0].size)/1024);

if(filesize500){

alert("上传大小不能超过500K.");

return false;

}

var str = "img src='"+img+"'p图片名称:"+filename+"/pp大小:"+filesize+"KB/p";

$("#preview").html(str);

//上传

xhr = new XMLHttpRequest();

xhr.open("post", "upload.php", true);

xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

var fd = new FormData();

fd.append('mypic', fileList[0]);

xhr.send(fd);

},false);

});

为什么使用html5的拖拽功能,在火狐中总会弹出一个新面页?

给drop事件加

ev.stopPropagation(); //阻止冒泡

ev.preventDefault(); //阻止默认行为

html5 拖动效果怎么在手机上实现

html5 拖动效果在手机上实现方法是调用drag和drop一系列函数实现的。

注意:拖拽源在拖拽操作结束将得到dragend事件对象,不管操作成功与否。

举例:

定义可拖放内容

div id="columns"

div class="column" draggable="true"headerA/header/div

div class="column" draggable="true"headerB/header/div

div class="column" draggable="true"headerC/header/div

/div

2、监听拖动事件

可附加大量不同事件以监听整个拖放过程:

dragstart

drag

dragenter

dragleave

dragover

drop

dragend

a.这里是开始拖拽

function handleDragStart(e) {

this.style.opacity = '0.4';  // this / e.target is the source node.

}

var cols = document.querySelectorAll('#columns .column');

[].forEach.call(cols, function(col) {

col.addEventListener('dragstart', handleDragStart, false);

});

b.dragenter、dragover 和 dragleave 事件处理程序可用于在拖动过程中提供额外的可视化提示。例如,在拖动期间将鼠标悬停在某一列上方时,其边框可能会变成虚线。这样,用户就能知道这些列也是放置的目标区域。


分享文章:html5拖拽,html5拖拽文件上传 跨域
文章地址:http://pwwzsj.com/article/dscddsh.html