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

H5中的拖放

时间:2017-10-29 15:56:38      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:border   ges   http   处理程序   com   blog   data   事件处理   数据类型   

 

在h5中会有一些的拖放的,就像下图

技术分享

代码人如下所示

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #div1,#div2{
                width: 600px;
                height: 500px;
                border: 1px solid red;
                float: left;
            }
        </style>
    </head>
    <body>
        <p>请把图片拖放到矩形中</p>
        <!--
            ondrop:当放置被拖动数据时,发生drop事件
            ondragover:规定在何处放置被拖动的数据
            ondragenter:表示元素被拖动到放置目标生就会触发,类似于mousrover事件
        -->
        <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" ondragenter="enter(event)" ondragleave="leave(event)">
</div>
        
        <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)">
            
        </div>
        <!--
            draggable="true" 设置元素可以拖放
            ondragstart:拖动时,调用一个函数
        -->
        <img src="null5f39df4782a2f8f7.jpg" id="drag1" draggable="true" ondragstart="drag(event)" ondragend="end(event)"/>
        
        <script type="text/javascript">
            function allowDrop(ev){
                //重写dragover事件的默认行为,将无效放置目标设置为课放置目标
                ev.preventDefault();
                console.log("正在移动目标中");
                
            }
            function drag(ev){
                ev.dataTransfer.setData("Text",ev.target.id);//拖放的数据类型和值
                console.log("拖动开始了");
            }
            function drop(ev){
                ev.preventDefault();
                //保存在DataTransfer对象中的数据只能在drop事件处理程序中读取
                var data = ev.dataTransfer.getData("Text");
                ev.target.appendChild(document.getElementById(data));
                console.log("正在移动目标中");
            }
            function enter(){
                console.log("进入目标区了");    
            }
            function leave(){
                console.log("离开目标区了");    
            }
            function end(){
                console.log("拖放停止了");
            }
            
        </script>
    </body>
</html>

 

H5中的拖放

标签:border   ges   http   处理程序   com   blog   data   事件处理   数据类型   

原文地址:http://www.cnblogs.com/junwuyao/p/7750076.html

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