主頁 > 知識(shí)庫 > html5拖拽應(yīng)用記錄及注意點(diǎn)

html5拖拽應(yīng)用記錄及注意點(diǎn)

熱門標(biāo)簽:如何獲取地圖標(biāo)注客戶 電話機(jī)器人電銷系統(tǒng)掙話費(fèi) 只辦理400電話 平?jīng)龅貓D標(biāo)注位置怎么弄 電話機(jī)器人黑斑馬免費(fèi) 高德地圖標(biāo)注地點(diǎn)糾錯(cuò) 拓展地圖標(biāo)注 南昌仁和怎么申請開通400電話 機(jī)器人外呼系統(tǒng)存在哪些能力

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

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

拖動(dòng)元素

被拖動(dòng)的元素上要加入入draggable="true"屬性

一些注意點(diǎn):

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

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

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

vue中在ui庫組件上加的時(shí)候記得加 .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". 圖片和超鏈接默認(rèn)就可以拖拽-->
    <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>
    /*學(xué)習(xí)拖拽,主要就是學(xué)習(xí)拖拽事件*/
    var p=document.querySelector("#pe1");
    var div2=document.querySelector("#div2");
    var div3=document.querySelector("#div3");
    /*應(yīng)用于被拖拽元素的事件
    *ondrag         應(yīng)用于拖拽元素,整個(gè)拖拽過程都會(huì)調(diào)用--持續(xù)
     ondragstart    應(yīng)用于拖拽元素,當(dāng)拖拽開始時(shí)調(diào)用
     ondragleave    應(yīng)用于拖拽元素,當(dāng)鼠標(biāo)離開拖拽元素時(shí)調(diào)用
     ondragend    應(yīng)用于拖拽元素,當(dāng)拖拽結(jié)束時(shí)調(diào)用*/
    p.ondragstart=function(e){
        console.log("開始");
        e.dataTransfer.setDate("a")
    }
    p.ondragend=function(){
        console.log("結(jié)束");
    }
    p.ondragleave=function(){
        console.log("離開目標(biāo)");
    }
    p.ondrag=function(){
        // console.log("持續(xù)觸發(fā)---111111");
    }
 
    /*應(yīng)用于目標(biāo)元素的事件
    *ondragenter    應(yīng)用于目標(biāo)元素,當(dāng)拖拽元素進(jìn)入時(shí)調(diào)用
     ondragover    應(yīng)用于目標(biāo)元素,當(dāng)停留在目標(biāo)元素上時(shí)調(diào)用
     ondrop        應(yīng)用于目標(biāo)元素,當(dāng)在目標(biāo)元素上松開鼠標(biāo)時(shí)調(diào)用
     ondragleave    應(yīng)用于目標(biāo)元素,當(dāng)鼠標(biāo)離開目標(biāo)元素時(shí)調(diào)用*/
    div2.ondragenter=function(){
        console.log("進(jìn)入目標(biāo)1");
    }
    div2.ondragover=function(e){
        console.log(e);
        console.log("在目標(biāo)1中盤旋");
        //console.log("ondragover");
        /*如果想觸發(fā)ondrop事件,那么就必須在這個(gè)位置阻止瀏覽器的默認(rèn)行為*/
        e.preventDefault();
    }
    /*瀏覽器默認(rèn)會(huì)阻止ondrop事件:我們必須在ondragover中阻止瀏覽器的默認(rèn)行為*/
    div2.ondrop=function(){
        console.log("鎖定目標(biāo)1,降落");
        /*添加被拖拽的元素到當(dāng)前目標(biāo)元素*/
        div2.appendChild(p);
    }
    div2.ondragleave=function(){
        console.log("離開目標(biāo)1");
    }

    div3.ondragenter=function(){
        console.log("進(jìn)入目標(biāo)2");
    }
 
    div3.ondragover=function(e){
        console.log("在目標(biāo)2中盤旋");
        //console.log("ondragover");
        /*如果想觸發(fā)ondrop事件,那么就必須在這個(gè)位置阻止瀏覽器的默認(rèn)行為*/
        e.preventDefault();
    }
    div3.ondrop=function(){
        console.log("鎖定目標(biāo)2,降落");
        /*添加被拖拽的元素到當(dāng)前目標(biāo)元素*/
        div3.appendChild(p);
    }
    div3.ondragleave=function(){
        console.log("離開目標(biāo)2");
    }
</script>
</body>
</html>

總結(jié)

到此這篇關(guān)于html5拖拽應(yīng)用記錄的文章就介紹到這了,更多相關(guān)html5拖拽應(yīng)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:棗莊 青島 永州 遼源 西藏 池州 新疆 漯河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5拖拽應(yīng)用記錄及注意點(diǎn)》,本文關(guān)鍵詞  html5,拖拽,應(yīng)用,記錄,及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html5拖拽應(yīng)用記錄及注意點(diǎn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于html5拖拽應(yīng)用記錄及注意點(diǎn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章