首页 > Web开发 > 详细

html5的鼠标拖拽

时间:2017-02-06 19:54:25      阅读:199      评论:0      收藏:0      [点我收藏+]

鼠标拖拽

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .one {width:200px;height:200px;border:1px solid blue;margin:10px;}
        .two {width:50px;height:50px;border:1px solid red;margin:10px;}
    </style>
</head>
<body>
    <div class="one" id="one"></div>
    <!--必须设置元素为可拖拽-->
    <div class="two" id="two" draggable="true"></div>
</body>
<script>
    window.onload = function() {
        //two为拖拽对象,one为目标对象
        var one = document.getElementById("one");
        var two = document.getElementById("two");
 
        //拖拽开始事件
        two.ondragstart = function(e) {
            //dataTransfer对象,拖拽对象用来传递数据的媒介
            e.dataTransfer.setData(‘text‘, ‘哈哈哈‘);
 
            one.innerHTML += "开始";
        };
        //拖拽移动事件
        two.ondrag = function(e) {
 
        };
        //拖拽结束事件
        two.ondragend = function(e) {
            one.innerHTML += "结束";
        };
 
        //拖曳元素进入目标元素的时候触发的事件
        one.ondragenter = function(e) {
            this.innerHTML += "进入";
 
            e.preventDefault();
        };
        //拖拽元素在目标元素上移动的时候触发的事件
        one.ondragover = function(e) {
            this.innerHTML += "移动";
 
            //必须阻止默认事件,否则ondrop无法触发
            e.preventDefault();
        };
        //拖拽元素离开目标元素时触发的事件
        one.ondragleave = function(e) {
            this.innerHTML += "离开";
        };
        //拖拽元素在目标元素上同时鼠标放开触发的事件
        one.ondrop = function(e) {
            two.innerHTML = e.dataTransfer.getData(‘text‘);
            this.appendChild(two);
        };
    };
</script>
</html>

拖拽文件上传

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box {width:200px;height:200px;border:1px dashed #bbb;}
    </style>
</head>
<body>
    <div class="box" id="box">拖拽文件上传</div>
</body>
<script>
    window.onload = function() {
        var box = document.getElementById("box");
 
        //拖曳元素进入目标元素的时候触发的事件
        box.ondragenter = function(e) {
 
            e.preventDefault();
        };
        //拖拽元素在目标元素上移动的时候触发的事件
        box.ondragover = function(e) {
 
            e.preventDefault();
        };
        //拖拽元素离开目标元素时触发的事件
        box.ondragleave = function(e) {
 
            e.preventDefault();
        };
        //拖拽元素在目标元素上同时鼠标放开触发的事件
        box.ondrop = function(e) {
            //e.dataTransfer.files可以访问拖拽的文件信息
            var file = e.dataTransfer.files[0];
            //创建一个FormData对象
            var fd = new FormData();
            //把文件添加到FormData对象中
            fd.append(‘pic‘, file);
            var xhr = new XMLHttpRequest();
            xhr.open("post", "test.php", true);
            xhr.send(fd);
 
            e.preventDefault();
        };
    };
</script>
</html>

 

html5的鼠标拖拽

原文:http://www.cnblogs.com/jkko123/p/6371457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!