国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > HTML5 > 正文

html5拖拽應用記錄及注意點

2024-09-05 07:23:31
字體:
來源:轉載
供稿:網(wǎng)友

下面通過代碼給大家介紹html5拖拽應用記錄,具體代碼如下所示:

e.dataTransfer.setData("a","設置的值");e.dataTransfer.getData("a");function drop(e){    <!--嘗試console.log(e),這里能拿到好多你用得到的api-->    e.dataTransfer.setData("a", e.target.id);}

拖動元素

被拖動的元素上要加入入draggable="true"屬性

一些注意點:

drop 必須配上 dragover,否則事件不生效

document.getElementById('right').ondragover = function (ev) {    ev.preventDefault(); //阻止向上冒泡}document.getElementById('right').ondrop = function (ev) {    ev.preventDefault(); //阻止向上冒泡    console.log("放入");}

react中使用事件必須是駝峰,例如:onDragOver

vue中在ui庫組件上加的時候記得加 .native,例如:@drop.native

完整測試案例

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        *{            margin: 0;            padding: 0;        }        .div1{            width: 200px;            height: 200px;            border: 1px solid red;            position: relative;            margin-left:20px;            float: left;        }        .div2{            width: 200px;            height: 200px;            border: 1px solid blue;            position: relative;            margin-left:20px;            float: left;        }        .div3{            width: 200px;            height: 200px;            border: 1px solid green;            position: relative;            margin-left:20px;            float: left;        }        p{            background-color: orange;            margin-top: 5px;        }    </style></head><body><div class="div1" id="div1">    <!--在h5中,如果想拖拽元素,就必須為元素添加draggable="true". 圖片和超鏈接默認就可以拖拽-->    <p id="pe" draggable="true">試著把我拖過去</p>    <p id="pe1" draggable="true">試著也把我拖過去</p></div><div class="div2" id="div2"></div><div class="div3" id="div3"></div><script>    /*學習拖拽,主要就是學習拖拽事件*/    var p=document.querySelector("#pe1");    var div2=document.querySelector("#div2");    var div3=document.querySelector("#div3");    /*應用于被拖拽元素的事件    *ondrag         應用于拖拽元素,整個拖拽過程都會調用--持續(xù)     ondragstart    應用于拖拽元素,當拖拽開始時調用     ondragleave    應用于拖拽元素,當鼠標離開拖拽元素時調用     ondragend    應用于拖拽元素,當拖拽結束時調用*/    p.ondragstart=function(e){        console.log("開始");        e.dataTransfer.setDate("a")    }    p.ondragend=function(){        console.log("結束");    }    p.ondragleave=function(){        console.log("離開目標");    }    p.ondrag=function(){        // console.log("持續(xù)觸發(fā)---111111");    }     /*應用于目標元素的事件    *ondragenter    應用于目標元素,當拖拽元素進入時調用     ondragover    應用于目標元素,當停留在目標元素上時調用     ondrop        應用于目標元素,當在目標元素上松開鼠標時調用     ondragleave    應用于目標元素,當鼠標離開目標元素時調用*/    div2.ondragenter=function(){        console.log("進入目標1");    }    div2.ondragover=function(e){        console.log(e);        console.log("在目標1中盤旋");        //console.log("ondragover");        /*如果想觸發(fā)ondrop事件,那么就必須在這個位置阻止瀏覽器的默認行為*/        e.preventDefault();    }    /*瀏覽器默認會阻止ondrop事件:我們必須在ondragover中阻止瀏覽器的默認行為*/    div2.ondrop=function(){        console.log("鎖定目標1,降落");        /*添加被拖拽的元素到當前目標元素*/        div2.appendChild(p);    }    div2.ondragleave=function(){        console.log("離開目標1");    }    div3.ondragenter=function(){        console.log("進入目標2");    }     div3.ondragover=function(e){        console.log("在目標2中盤旋");        //console.log("ondragover");        /*如果想觸發(fā)ondrop事件,那么就必須在這個位置阻止瀏覽器的默認行為*/        e.preventDefault();    }    div3.ondrop=function(){        console.log("鎖定目標2,降落");        /*添加被拖拽的元素到當前目標元素*/        div3.appendChild(p);    }    div3.ondragleave=function(){        console.log("離開目標2");    }</script></body></html>

總結

到此這篇關于html5拖拽應用記錄的文章就介紹到這了,更多相關html5拖拽應用內容請搜索武林網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍山县| 西吉县| 镇坪县| 商河县| 寿宁县| 永昌县| 平阳县| 南江县| 阿拉尔市| 赞皇县| 沁源县| 大姚县| 岑溪市| 沈丘县| 长丰县| 师宗县| 屯留县| 兰考县| 阿勒泰市| 抚宁县| 青龙| 棋牌| 和龙市| 红安县| 塔河县| 唐山市| 宁安市| 孟州市| 聂荣县| 韶关市| 池州市| 秀山| 泌阳县| 班玛县| 莲花县| 界首市| 东方市| 葫芦岛市| 唐海县| 舞钢市| 礼泉县|