麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > HTML > 正文

5分鐘弄清楚html5的drag and drop(小結(jié))

2024-08-26 00:21:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

5分鐘弄清楚html5的drag and drop,及其他監(jiān)聽(tīng)事件和執(zhí)行的次序。

定義和用法

在拖放的過(guò)程中會(huì)觸發(fā)以下事件:

在拖動(dòng)目標(biāo)上觸發(fā)事件 (源元素):

  • ondragstart - 用戶開(kāi)始拖動(dòng)元素時(shí)觸發(fā)
  • ondrag - 元素正在拖動(dòng)時(shí)觸發(fā)
  • ondragend - 用戶完成元素拖動(dòng)后觸發(fā)

釋放目標(biāo)時(shí)觸發(fā)的事件: 

  •  ondragenter - 當(dāng)被鼠標(biāo)拖動(dòng)的對(duì)象進(jìn)入其容器范圍內(nèi)時(shí)觸發(fā)此事件
  • ondragover - 當(dāng)某被拖動(dòng)的對(duì)象在另一對(duì)象容器范圍內(nèi)拖動(dòng)時(shí)觸發(fā)此事件
  • ondragleave - 當(dāng)被鼠標(biāo)拖動(dòng)的對(duì)象離開(kāi)其容器范圍內(nèi)時(shí)觸發(fā)此事件
  • ondrop - 在一個(gè)拖動(dòng)過(guò)程中,釋放鼠標(biāo)鍵時(shí)觸發(fā)此事件

 瀏覽器支持

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖動(dòng)。

注意:Safari 5.1.2不支持拖動(dòng);在拖動(dòng)元素時(shí),每隔 350 毫秒會(huì)觸發(fā) ondragover 事件。
 

示例如下:

html5,drag,drop

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>5分鐘drag and drop簡(jiǎn)明示例</title>    <style>        #draggable {            width: 200px;            height: 20px;            text-align: center;            background: white;        }        .dropzone {            width: 200px;            height: 20px;            background: blueviolet;            margin-bottom: 10px;            padding: 10px;        }    </style>    <script>        var dragged;        document.addEventListener("dragstart", function (event) {            console.log('==========dragstart 開(kāi)始被拖拽==========一次拖動(dòng)只執(zhí)行一次');            // 保存拖動(dòng)元素的引用(ref.)            dragged = event.target;            // 使其半透明            event.target.style.opacity = .5;        }, false);        /* 拖動(dòng)目標(biāo)元素時(shí)觸發(fā)drag事件 */        document.addEventListener("drag", function (event) {            // console.log('==========drag==========拖拽時(shí)會(huì)一直監(jiān)聽(tīng),直到放下元素');        }, false);        /* 放置目標(biāo)元素時(shí)觸發(fā)事件 */        document.addEventListener("dragover", function (event) {            // console.log('==========dragover==========拖拽時(shí)會(huì)一直監(jiān)聽(tīng),直到放下元素');            // 阻止默認(rèn)動(dòng)作以啟用drop            event.preventDefault();        }, false);        document.addEventListener("dragenter", function (event) {            console.log('==========dragenter 拖曳元素 進(jìn)入目標(biāo)元素==========對(duì)應(yīng)著dragleave');            // 當(dāng)可拖動(dòng)的元素進(jìn)入可放置的目標(biāo)時(shí)高亮目標(biāo)節(jié)點(diǎn)            if (event.target.className == "dropzone") {                event.target.style.background = "purple";            }        }, false);        document.addEventListener("dragleave", function (event) {            console.log('==========dragleave 拖曳元素 離開(kāi)目標(biāo)元素==========對(duì)應(yīng)著dragenter');            // 當(dāng)拖動(dòng)元素離開(kāi)可放置目標(biāo)節(jié)點(diǎn),重置其背景            if (event.target.className == "dropzone") {                event.target.style.background = "";            }        }, false);        document.addEventListener("drop", function (event) {            console.log('==========drop 放下元素==========一次拖動(dòng)只執(zhí)行一次,在dragenter前觸發(fā)');            // 阻止默認(rèn)動(dòng)作(如打開(kāi)一些元素的鏈接)            event.preventDefault();            // 將拖動(dòng)的元素到所選擇的放置目標(biāo)節(jié)點(diǎn)中            if (event.target.className == "dropzone") {                event.target.style.background = "";                dragged.parentNode.removeChild(dragged);                event.target.appendChild(dragged);            }        }, false);        document.addEventListener("dragend", function (event) {            console.log('==========dragend 結(jié)束拖拽==========一次拖動(dòng)只執(zhí)行一次');            // 重置透明度            event.target.style.opacity = "";        }, false);    </script></head><body>    <div class="dropzone">        <div id="draggable" draggable="true" ondragstart="event.dataTransfer.setData('text/plain',null)">            這是可以拖拽的DIV        </div>    </div>    <div class="dropzone"></div>    <div class="dropzone"></div>    <div class="dropzone"></div></body></html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到HTML教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕h | 久久久精彩 | 欧美日韩在线播放 | 国产91亚洲精品久久久 | 久久我不卡 | 亚洲va久久久噜噜噜久久男同 | 在线成人影视 | 中文字幕精品在线播放 | 在线看国产视频 | 久草在线资源福利站 | 久久逼网 | 黄色成人在线 | 久久久成人精品 | 国产88久久久国产精品免费二区 | 久久久久久久爱 | 天堂精品在线 | 黄色网址免费入口 | 天天看逼 | 亚洲午夜天堂吃瓜在线 | 成人综合在线观看 | 国产精品视频一区二区三区综合 | 久久免费视屏 | 91精品国产99久久久久久 | 国产成人精品二区 | 亚洲免费网站 | 国产一区二区三区视频观看 | 国产一区影院 | 免费黄色在线观看网站 | 狠狠操精品视频 | 亚洲午夜天堂吃瓜在线 | 成人一级免费 | 中文字幕亚洲一区二区三区 | 在线成人一区二区 | 亚洲欧美aⅴ | av影院在线播放 | 一区二区久久久久草草 | 成人黄色网战 | av免费在线观看国产 | a在线视频| 毛片在线免费视频 | 久久手机在线视频 |