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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Html5 dragdrop

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Html5 dragdrop 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面是一個拖放例子


定義如下的兩個div,分別是用于拖放后放置新元素的容器和可拖動的元素;

<body><div id="holder" style="width: 200px; height: 200px; background: #ff4400;" ondrop="drop(event);"ondragover="dragover(event);"></div><div id="module" style="width: 100px; height: 100px; background: #f0abcd;" draggable="true"ondragstart="dragstart(event);"></div> </body>

定義Javascript方法,用于處理拖放事件;

  • <script> function dragstart(evt) { evt.dataTransfer.setData('targetId', evt.target.id); } function drop(evt) { evt.preventDefault(); var data = evt.dataTransfer.getData("targetId"); evt.target.appendChild(document.getElementById(data)); } function dragover(evt) { evt.preventDefault(); } </script>
  • 分析:

    • draggable="true"; // 設置元素可拖動;
    • ondragstart&setData; // 在ondragstart回調方法中調用setData來設置被拖動數據的值,如果不調用setData,則拖動事件不會繼續傳遞下去;
    • ondragover; // 該事件規定在何處旋轉被拖動的數據,默認無法將數據/元素旋轉到其它元素中,如果要設置成允許旋轉,必須阻止對元素的默認處理方式;
    • ondrap; // 當放置被拖放數據時,會觸發ondrop回調事件,在ondrop中對拖放進行處理;

    Step

  • ?? 調用 preventDefault() 來避免瀏覽器對數據的默認處理(drop 事件的默認行為是以鏈接形式打開)
  • ??? 通過 dataTransfer.getData("targetId") 方法獲得被拖的數據。該方法將返回在 setData() 方法中設置為相同類型的任何數據。
  • ??? 被拖數據是被拖元素的 id ("module1")
  • ??? 把被拖元素追加到放置元素(目標元素)中

  • 瀏覽器支持
    Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。
    注:在 Safari 5.1.2 中不支持拖放。

    ref: http://www.w3school.com.cn/html5/html_5_draganddrop.asp

    轉載于:https://www.cnblogs.com/284628487a/p/6273365.html

    總結

    以上是生活随笔為你收集整理的Html5 dragdrop的全部內容,希望文章能夠幫你解決所遇到的問題。

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