婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Html5原生拖拽相關事件簡介以及基礎實現

Html5原生拖拽相關事件簡介以及基礎實現

熱門標簽:拓展地圖標注 如何獲取地圖標注客戶 平涼地圖標注位置怎么弄 電話機器人電銷系統掙話費 機器人外呼系統存在哪些能力 高德地圖標注地點糾錯 南昌仁和怎么申請開通400電話 只辦理400電話 電話機器人黑斑馬免費

公司項目需求,要實現任務卡片在不同任務列表之間進行拖拽實現任務類別的更改。于是找了一下相關文章,稍微學習了一下。實現效果如下圖。

拖拽實現

主要用到的是H5自帶的拖拽效果。其實項目前端部分是使用React編寫的,也是在使用H5實現了之后才了解到Dan Abramov大佬有個React-DnD組件對原生拖拽方法進行了封裝。稍微學習了一下,很強。后續有使用到再寫篇文章進行分享。

相關事件定義與用法

涉及一個屬性六個事件。事件均為H5原生事件。

屬性

  • draggable:正常div是不允許進行拖動的。需要添加屬性draggable="true"將元素設置為可拖動。
     

事件

  • ondragstart:拖拽元素事件。在被拖拽時被調用。
  • ondrag:拖拽元素事件。在元素正在被拖拽時調用。
  • ondragend:拖拽元素事件。在拖拽元素放置時調用。
  • ondragenter:放置元素事件。在拖拽元素進入到放置元素有效區域時調用。
  • ondragover:放置元素事件。在拖拽元素覆蓋放置元素有效區域時調用
  • ondragleave:放置元素事件。在拖拽元素離開放置元素有效區域時調用。
  • ondrop:放置元素事件。在拖拽元素被放置在放置元素中調用。
     

基礎代碼實現

拖拽元素相關事件實現代碼如下。

function handleOndragstart() {
    /*
    該事件為拖拽元素被拖拽時調用。一般用于獲取該拖拽元素的唯一標識,如id等。以方便后續數據更新時進行元素定位
     */
}

function handleOndragend() {
    /*
    該事件在拖拽元素被放置時調用。一般用于重置變量操作
     */
}

function handleOndrag() {
    /*
    該事件憑個人需求進行功能實現
     */
}

拖拽元素H5代碼如下

<div 
     draggable="true" 
     ondragstart="handleOndragstart()" 
     ondrag="handleOndarg()" 
     ondragend="handleOndragend()"
     >
    該元素為拖拽元素
</div>

放置元素相關事件實現代碼如下

/*
默認情況下,數據/元素不能放置到其他元素中。 如果要實現該功能,我們需要防止元素的默認處理方法。我們可以通過調用 event.preventDefault() 方法來實現 ondragover 事件。
 */
function handleOndragover(event) {
    event.preventDefault();
    /*
    在這里進行你的函數處理
     */
}

function handleOndragenter(event) {
    event.preventDefault();
    /*
    在這里進行你的函數處理
     */
}

function handleOndragleave(event) {
    event.preventDefault();
    /*
    在這里進行你的函數處理
     */
}

function handleOndrop(event) {
    event.preventDefault();  // 清除默認事件。drop 事件的默認行為是以鏈接形式打開
    /*
    一般在該事件中,也就是拖拽元素被放下的時候與后端進行交互進行數據更新
     */
}

放置元素H5代碼如下

<div 
     ondragenter="handleOndragenter(event)" 
     ondragover="handleOndragover(event)" 
     ondragleave="handleOndragleave(event)" 
     ondrop=“handleOndrop(event)
     >
    該元素為放置元素
</div>

實例

以下代碼可實現在兩個div之間進行子元素的拖拽

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>拖拽實現</title>
    <style type="text/css">
      .parent {
        display: flex;
        width: 450px;
        justify-content: space-around;
      }
      .container {
        height: 300px;
        width: 200px;
        background-color: rgba(255, 255, 0, 0.3);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
      }
      .box {
        width: 100px;
        height: 50px;
        background-color: rgba(255, 255, 255, 1);
      }
    </style>
    <script type="text/javascript">
      function handleOndragstart(event) {
        // 設置被拖動的數據,可簡單理解為設置Box的值為被拖動元素的id。此處為"Box"
        event.dataTransfer.setData("Box", event.target.id);
      }
      function handleOndragover(event) {
        event.preventDefault();
      }
      function handleOndrop(event) {
          // 拖拽元素被放下時調用
        event.preventDefault();
        var data = event.dataTransfer.getData("Box");
        // 將拖拽元素追加到改放置元素中
        event.target.appendChild(document.getElementById(data));
      }
    </script>
  </head>

  <body>
    <div class="parent">
      <div
        class="container"
        ondragover="handleOndragover(event)"
        ondrop="handleOndrop(event)"
      >
        <div
          class="box"
          draggable="true"
          id="Box"
          ondragstart="handleOndragstart(event)"
        ></div>
      </div>
      <div
        class="container"
        ondragover="handleOndragover(event)"
        ondrop="handleOndrop(event)"
      ></div>
    </div>
  </body>
</html>

最后

暫時寫這么多吧。以上的實例也是用H5寫的,并沒有使用React實現。以后再試著寫個React版的簡單demo吧。這應該也算是我的第一篇分享文章,希望能堅持下去。

參考鏈接:
https://www.jb51.net/article/154105.htm
https://www.runoob.com/try/try.php?filename=tryhtml5_draganddrop2

到此這篇關于Html5原生拖拽相關事件簡介以及基礎實現的文章就介紹到這了,更多相關Html5原生拖拽內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:西藏 遼源 棗莊 池州 新疆 青島 漯河 永州

巨人網絡通訊聲明:本文標題《Html5原生拖拽相關事件簡介以及基礎實現》,本文關鍵詞  Html5,原生,拖拽,相關,事件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Html5原生拖拽相關事件簡介以及基礎實現》相關的同類信息!
  • 本頁收集關于Html5原生拖拽相關事件簡介以及基礎實現的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色综合欧美在线视频区| 91成人网在线| 欧美日韩在线三级| 一区二区三区视频在线看| 国产一区二区免费看| 欧美成人性战久久| 经典三级视频一区| 日本一区二区三区国色天香| 国产成人一区在线| 国产精品灌醉下药二区| 色综合久久中文字幕| 亚洲一区二区三区美女| 欧美色倩网站大全免费| 日本系列欧美系列| 国产丝袜在线精品| 99久久精品免费看国产免费软件| 亚洲免费av高清| 欧美日韩国产免费一区二区| 激情综合网激情| 国产精品久久久久久久久免费桃花| eeuss鲁片一区二区三区在线看| 中文字幕一区二区不卡| 欧美亚一区二区| 久久激五月天综合精品| 亚洲日本va午夜在线电影| 91精品国产欧美一区二区18| 福利一区二区在线观看| 舔着乳尖日韩一区| 国产精品乱码一区二区三区软件| 色av综合在线| 国产乱码精品一区二区三区忘忧草| 亚洲伦在线观看| 欧美一区二区视频在线观看2020| 国产成人精品影院| 天堂资源在线中文精品| 久久综合精品国产一区二区三区| 国产一区91精品张津瑜| 亚洲在线视频免费观看| 久久久亚洲综合| 欧美伊人久久久久久久久影院| 国产资源在线一区| 亚洲一区二区三区视频在线播放| 久久久久久久综合日本| 欧美三级日韩在线| 国产精品1区2区| 精品一区二区三区在线观看国产 | 欧美日韩国产a| 99国产精品国产精品久久| 国产精品影音先锋| 精品在线亚洲视频| 日本不卡在线视频| 图片区小说区区亚洲影院| 亚洲最大成人网4388xx| 亚洲免费av观看| 日韩理论在线观看| 欧美国产国产综合| 国产欧美一区二区精品仙草咪 | 337p粉嫩大胆色噜噜噜噜亚洲| 911精品国产一区二区在线| 欧美亚男人的天堂| 欧美另类变人与禽xxxxx| 欧美日韩一区二区在线观看| 91色婷婷久久久久合中文| 99精品欧美一区二区蜜桃免费| 成人美女视频在线观看18| 福利电影一区二区| av在线免费不卡| 色婷婷综合久久| 精品视频在线免费观看| 欧美手机在线视频| 欧美肥妇bbw| 4438x成人网最大色成网站| 91精品国产免费| 日韩一区二区在线观看视频| 91精品一区二区三区在线观看| 日韩一区二区中文字幕| 久久久久久久久久久电影| 欧美激情一区二区三区| 中文字幕一区三区| 中文字幕中文字幕一区| 亚洲精品中文在线观看| 日韩—二三区免费观看av| 六月丁香综合在线视频| 国产乱对白刺激视频不卡| av一区二区三区| 欧美福利一区二区| 国产精品国产三级国产| 亚洲成人动漫在线观看| 国产精品一卡二卡| 欧美三片在线视频观看 | 欧美精品一区二区三| 中文字幕亚洲一区二区av在线| 亚洲午夜视频在线观看| 国内久久精品视频| 在线视频欧美区| 国产亚洲精品中文字幕| 亚洲午夜av在线| 国产91丝袜在线观看| 日韩午夜激情视频| 亚洲精品日产精品乱码不卡| 久久99久久99| 欧美三级在线视频| 亚洲天堂av一区| 国产一区二区三区黄视频 | 久久久久成人黄色影片| 亚洲国产三级在线| 国产精品亚洲第一| 91精品国产欧美一区二区| 国产精品一二三在| 在线精品视频一区二区| 国产日韩精品一区二区三区| 日韩黄色片在线观看| av不卡免费电影| 久久午夜国产精品| 日韩av电影天堂| 欧美日韩视频不卡| 亚洲一区二区三区四区五区黄 | 一本到不卡精品视频在线观看| 久久伊人中文字幕| 久久er精品视频| 欧美剧情电影在线观看完整版免费励志电影 | 国产美女在线观看一区| 欧美一区二区国产| 午夜国产不卡在线观看视频| 91久久国产最好的精华液| 中文字幕亚洲区| 成人午夜碰碰视频| 国产精品网站导航| av高清久久久| 亚洲欧美日韩系列| 欧洲一区在线电影| 亚洲电影一级黄| 欧美日韩一卡二卡| 日本视频一区二区三区| 在线播放国产精品二区一二区四区| 亚洲自拍都市欧美小说| 欧美日韩激情在线| 日韩不卡一二三区| 欧美xxxx老人做受| 国产一区二区伦理片| 欧美国产日韩精品免费观看| 成人综合婷婷国产精品久久| 一区二区中文字幕在线| 色婷婷综合五月| 三级久久三级久久| 日韩欧美在线不卡| 国产精品影音先锋| 亚洲免费看黄网站| 欧美影视一区在线| 理论片日本一区| 欧美国产丝袜视频| 日本道色综合久久| 免费人成黄页网站在线一区二区 | 国产喂奶挤奶一区二区三区| 大陆成人av片| 亚洲制服丝袜在线| 欧美成人三级在线| 91在线观看成人| 全部av―极品视觉盛宴亚洲| 精品成人佐山爱一区二区| 不卡视频免费播放| 舔着乳尖日韩一区| 中文字幕高清不卡| 欧美久久久久久久久久| 麻豆一区二区99久久久久| 久久精子c满五个校花| 91影视在线播放| 美女爽到高潮91| 一区二区三区四区视频精品免费 | 亚洲视频在线一区| 日韩一区二区三区视频在线| 福利电影一区二区| 日本午夜精品一区二区三区电影| 中文字幕高清一区| 欧美成人伊人久久综合网| 97国产一区二区| 石原莉奈在线亚洲三区| 日韩一区二区三区视频在线 | 91在线一区二区三区| 日韩精品午夜视频| 亚洲日本在线a| 国产色综合一区| 中国色在线观看另类| 欧美电视剧在线看免费| 高清在线观看日韩| 亚洲国产精品视频| 亚洲国产精品成人综合色在线婷婷 | 香蕉影视欧美成人| 久久久精品中文字幕麻豆发布| 色综合一个色综合亚洲| 久久99久久99精品免视看婷婷| 亚洲美女屁股眼交| 国产精品久久久久久久第一福利| 337p粉嫩大胆噜噜噜噜噜91av | 中文字幕久久午夜不卡| 91视频观看视频| 国产精品亚洲成人| 免费成人小视频| 图片区日韩欧美亚洲| 一区二区三区四区国产精品|