码迷,mamicode.com
首页 > 其他好文 > 详细

h5原生拖拽

时间:2017-01-07 20:49:47      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:dev   数据   取消   ret   draggable   idt   listener   color   device   

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Title</title>
    <style>
        #drag-el {
            width: 100px;
            height: 100px;
            background-color: greenyellow;
        }
        #drop-el {
            width: 200px;
            height: 200px;
            background-color: antiquewhite;
        }
    </style>
</head>
<body>
<div id="drop-el"></div>
<div id="drag-el" draggable="true">
    <!-- <img src="logo.png" > -->
    被拖拽的元素
</div>
<script>
    window.onload = function () {

        var dropEl = $(‘#drop-el‘);
        var dragEl = $(‘#drag-el‘);

    //设置关联数据
        dragEl.addEventListener("dragstart", dragstartHandle);

    //禁止默认事件,使其可拖放,默认是不允许拖放的,除了图片和文字
        dropEl.addEventListener("dragenter", preventDefault);
        dropEl.addEventListener("dragover", preventDefault);
        //鼠标释放,在拖放目标上接受数据并处理
        dropEl.addEventListener("drop", dropHandle);

        function dropHandle(event) {
            event.preventDefault();//在Firefox 3.5+中,放置事件的默认行为是打开被放到放置目标上的URL,因此需要取消drop事件的默认行为,阻止它打开URL
            var data = event.dataTransfer.getData("Text");
            event.target.appendChild($("#" + data));
            console.log(event.target);
        }

        function dragstartHandle(event) {
            event.dataTransfer.setData("Text", event.target.id);
            console.log(event.target);
        }
        
        function preventDefault(event) {
            console.log(event.type);
            event.preventDefault();
        }

        function $(sel) {
            return document.querySelector(sel);
        }

    }
</script>
</body>
</html>

分享一个很简单的实例:

英雄选择

技术分享

选择英雄后代码:

技术分享

效果如下:

技术分享

 

h5原生拖拽

标签:dev   数据   取消   ret   draggable   idt   listener   color   device   

原文地址:http://www.cnblogs.com/jefferyE/p/6260276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!