日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Html5 dragdrop

發(fā)布時(shí)間:2025/3/15 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Html5 dragdrop 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下面是一個(gè)拖放例子


定義如下的兩個(gè)div,分別是用于拖放后放置新元素的容器和可拖動(dòng)的元素;

<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"; // 設(shè)置元素可拖動(dòng);
    • ondragstart&setData; // 在ondragstart回調(diào)方法中調(diào)用setData來設(shè)置被拖動(dòng)數(shù)據(jù)的值,如果不調(diào)用setData,則拖動(dòng)事件不會(huì)繼續(xù)傳遞下去;
    • ondragover; // 該事件規(guī)定在何處旋轉(zhuǎn)被拖動(dòng)的數(shù)據(jù),默認(rèn)無法將數(shù)據(jù)/元素旋轉(zhuǎn)到其它元素中,如果要設(shè)置成允許旋轉(zhuǎn),必須阻止對元素的默認(rèn)處理方式;
    • ondrap; // 當(dāng)放置被拖放數(shù)據(jù)時(shí),會(huì)觸發(fā)ondrop回調(diào)事件,在ondrop中對拖放進(jìn)行處理;

    Step

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

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

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

    轉(zhuǎn)載于:https://www.cnblogs.com/284628487a/p/6273365.html

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。