zoukankan      html  css  js  c++  java
  • 拖放API

    概念:

    虽然HTML5之前已经可以使用mousedown、mousemove、mouseup来实现拖放操作,但是只支持在浏览器内部的拖放,而在HTML5中,已经支持在浏览器与其他应用程序之间的数据互相拖动,同时也大大简化了有关拖放方面的代码。

    实现拖放的步骤:

    (1)将想要拖放的对象元素的dr0aggable属性设为true。另外img元素与a元素(必须指定href)默认允许拖放。

    (2)编写与拖放有关的事件处理代码。

    应用

    代码

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>拖放示例</title>
    <script type="text/javascript">
    function init()
    {
    var source = document.getElementById("dragme");
    var dest = document.getElementById("text");
    //(1)拖放开始
    source.addEventListener("dragstart",function(ev)
    {
    //向dataTransfer对象追加数据
    var dt = ev.dataTransfer;
    dt.effectAllowed = 'all';
    //(2)拖放元素为dt.setData("text/plain",this.id);
    dt.setData("text/plain","你好");
    },false);
    //(3)dragend:拖放结束
    dest.addEventListener("dragend",function(ev)
    {
    //不执行默认操作
    ev.preventDefault();
    },false);
    //(4)drop:被拖放
    dest.addEventListener("drop",function(ev)
    {
    //从DataTransfer对象那里取得数据
    var dt = ev.dataTransfer;
    var text = dt.getData("text/plain");
    dest.textContent += text;
    //(5)不执行默认操作
    ev.preventDefault();
    //停止事件传播
    ev.stopPropagation();
    },false);
    }
    //(6)设置页面属性,不执行页面操作
    document.ondragover = function(e){e.preventDefault();};
    document.ondrop = function(e){e.preventDefault();};
    </script>
    </head>
    <body onload="init()">
    <h1>简单拖放示例</h1>
    <div id="dragme" draggable="true" style=" 200px;border: 1px solid gray;">
    请拖放
    </div>
    <div id ="text" style=" 200px;height: 200px;border: 1px solid gray;">
    </div>
    </body>
    </html>

    效果

    注意事项:

    1.起初效果显示不出来,是function(ev)这个函数后面多加了一个“ )”符号,以及document写成了docnment

    2 在HBuilder软件中编写html代码,可以发现字体是黑色是代表有误,要格外留意!

  • 相关阅读:
    display的几种常用取值
    css五种定位方式介绍
    单行文字超过某个宽度时,显示省略号
    点击鼠标右键弹出错误提示:CrashHandler initialization error
    基于jquery 的find()函数和children()函数的区别
    跨域问题,前端主动向后台发送cookie
    Boolean()值为false的五个特殊值
    如何把select默认的小三角替换成自己的图片
    如何将网页的title前面的图标替换成自己的图标
    C#阿里云 移动推送 接入
  • 原文地址:https://www.cnblogs.com/yanyanstyle/p/11297899.html
Copyright © 2011-2022 走看看