zoukankan      html  css  js  c++  java
  • drag拖拽事件

    拖放(Drag 和 Drop)是很常见的特性。它指的是您抓取某物并拖入不同的位置。

    拖放是 HTML5 标准的组成部分:任何元素都是可拖放的。

     <style type="text/css">
        #div1 {198px; height:66px;padding:10px;border:1px solid #aaaaaa;}
        </style>
     <!-- 1.首先设置元素可拖放  draggable='true' -->
      <!-- 2.定义拖动事件及设置拖动数据   (ondragstart属性调用drag函数,规定拖动什么数据;dataTransfer.setData()方法设置被拖动数据) -->
      <!-- 3. 允许放置,阻止默认事件以实现拖放 (数据/元素无法被放置到其他元素中)-->
      <!-- 4.放置(放开被拖数据时发生drop事件, ondrop属性调用一个函数drop(event)) -->

    <div id="div1" ondragover='allowDrop(event)' ondrop='drop(event)' ></div> <img id='drag1' src="https://www.w3school.com.cn/i/eg_dragdrop_w3school.gif" alt="" draggable="true" ondragstart="drag(event)" width="336" height="69"> <script> function drag(ev) { ev.dataTransfer.setData('img',ev.target.id); } function allowDrop(ev) { ev.preventDefault(); } function drop(ev) { ev.preventDefault(); //阻止数据的浏览器默认处理方式 var data=ev.dataTransfer.getData('img');//获取被拖数据(被拖数据是被拖元素的 id(drag1)) ev.target.appendChild(document.getElementById(data))//将被拖元素追加到放置元素中 } </script>

    在两个 <div> 元素之间来回拖放图像:

    <style>
     #div1, #div2
    {float:left; 198px; height:66px; margin:10px;padding:10px;border:1px solid #aaaaaa;}
      </style>
    
    <!-- 实现两个框相互拖放:1.图片设置可拖放及定义拖放事件; 2.用一个div元素包括拖放元素 3.两个div元素都设置两个标签都设置允许拖放及放置事件 -->
      <!-- 1.draggable="true"可拖放 -->
      <!-- 2.ondragstart="drag(event)"定义拖放事件及数据 -->
      <!-- 3.两个标签都设置允许拖放,阻止默认事件 ondragover="allowDrop(event) -->
      <!-- 4.两个标签都设置放置(放开被拖数据时发生drop事件) ondrop="drop(event)"-->

    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"> <img src="https://www.w3school.com.cn/i/eg_dragdrop_w3school.gif" draggable="true" ondragstart="drag(event)" id="drag1" /> </div> <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); } function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); } </script>
  • 相关阅读:
    NX二次开发-UFUN计时函数UF_end_timer
    NX二次开发-UFUN写入本地文本文档uc4524
    NX二次开发-UFUN关闭本地文本文档uc4540
    NX二次开发-UFUN读取本地文本文档uc4514a
    MFC弹出选择文件和选择文件夹代码
    NX二次开发-UFUN多选菜单对话框uc1605
    NX二次开发-UFUN文件选择对话框UF_UI_create_filebox
    NX二次开发-UFUN多按钮模态对话框UF_UI_message_dialog
    NX二次开发-算法篇-找相切面
    NX二次开发-UFUN获取边的光顺性UF_MODL_ask_edge_smoothness(找相切面)
  • 原文地址:https://www.cnblogs.com/hudaxian/p/14926816.html
Copyright © 2011-2022 走看看