Html 拖放

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/jquery.js"></script>
        <style type="text/css">
            #div1, #div2{float:left; width:198px; height:66px; margin:10px;padding:10px;border:1px solid #aaaaaa;}
        </style>
        <script type="text/javascript">
            function allowDrop(ev){
                ev.preventDefault();
            }
            /*preventDefault方法可以取消事件的默认动作,将通知Web浏览器不要执行与事件相关联的默认动作*/
            
            function drag(ev){
                ev.dataTransfer.setData("Text",ev.target.id);
            }
            /*DataTransfer对象提供了对于预定义的剪贴板格式的访问,以便在拖拽操作中使用.就是在拖拽过程中,我们可以通过dataTransfer对象来传输数据,以便在拖拽操作结束的时候对数据进行其他操作.*/
            /*setData(format,data):将指定格式的数据赋值给dataTransfer对象,参数format定义数据的格式也是数据的类型,data为待赋值的数据*/
            /*target事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素,文档或窗口.*/
            
            function drop(ev){
                ev.preventDefault();
                var data = ev.dataTransfer.getData("Text");
                ev.target.appendChild(document.getElementById(data));
            }
            /*getData([format]):从dataTransfer对象中删除指定格式的数据,参数可选,若不给出,则为删除对象中所有的数据.*/
        </script>
    </head>
    <body>
        <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"> 
            ![](images/1.jpg)
            <!--ondragstart 用于开始拖动元素时触发-->
        </div> 
        <!--ondrop 在元素正在拖动时触发-->
        <!--ondragover 当某被拖动的对象在另一对象容器范围内拖动时触发此事件-->
        <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"> 
        </div> 
    </body>
</html>

效果图

1.jpg

推荐阅读更多精彩内容