日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Vue结合HTML5拖放API 实现目录拖拽~

發布時間:2023/12/2 HTML 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue结合HTML5拖放API 实现目录拖拽~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

拖放事件

dom被拖拽--->經過一些dom--->到達指定dom

  • 被拖拽的dom:(源對象)

    dragstart 源對象被拖拽

    drag 源對象拖拽過程中

    dragend 源對象拖拽結束(drop事件后執行)

  • 拖拽過程中經過的dom:(過程對象)

    dragenter 源對象進入過程對象

    dragover 源對象在過程對象中移動 (設置event.preventDefault(),否則drop事件不會執行)

    drageleave 源對象離開過程對象

  • 拖拽到達指定的dom:(目標對象)

    drop 拖放到指定目標對象內

  • dataTransfer對象:(拖拽過程中數據傳遞對象)

    setData()存入數據

    支持格式:text/plain、text/html、text/xml、text/url-list

    getData()

    clearData()

實現

實現目錄可在同級、子級拖動

思路:
  • 在dragstart時向dataTransfer對象存入源對象的數據
  • 在dragenter時給過程對象加同級拖拽標識
  • 在dragenter時同時記錄下進入時鼠標的坐標(x1, y1)

  • 當dragover時依然記錄下鼠標的坐標(x2, y2)

  • 設定規則加子級拖拽標識,例如:Math.abs(x2-x1) > 50

  • 當dragleave時,去掉所有標識
  • 當drop時,獲取dataTransfer對象的數據,并更新拖拽數據
  • 當dragend時,去掉所有標識
  • 效果

  • 拖拽到子級
  • 2.拖拽到同級

    此例子是結合vue遞歸組件實現:vue-drag


    更多專業前端知識,請上 【猿2048】www.mk2048.com

    總結

    以上是生活随笔為你收集整理的Vue结合HTML5拖放API 实现目录拖拽~的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。