h5原生拖拽

<!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" alt=""> -->
    被拖拽的元素
</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>

分享一个很简单的实例:

英雄选择

选择英雄后代码:

效果如下:

 

转载于:https://www.cnblogs.com/jefferyE/p/6260276.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值