中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5實現元素拖拽的方法

發布時間:2021-07-02 11:01:51 來源:億速云 閱讀:172 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關HTML5實現元素拖拽的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

先上示例:

index.html

XML/HTML Code復制內容到剪貼板

  1. <!doctype html>  

  2. <html>  

  3. <head>  

  4.     <meta charset="UTF-8">  

  5.     <title>Drag</title>  

  6.     <style>  

  7.         .box{   

  8.             width: 400px;   

  9.             height: 400px;   

  10.             float: left;   

  11.         }   

  12.         #box1{   

  13.             background: #CCC;   

  14.         }   

  15.         #box2{   

  16.             background: #FF0;   

  17.         }   

  18.     </style>  

  19. </head>  

  20. <body>  

  21. <div id="box1" class="box"></div>  

  22. <div id="box2" class="box"></div>  

  23. <img src="https://cache.yisu.com/upload/information/20210312/296/134176.jpg" alt="" id="img1" />  

JavaScript Code復制內容到剪貼板

  1. <script src="app1.js"></script>   

  2. </body>   

  3. </html>   

  4.   

  5. app1.js   

  6. /**  

  7.  *   app1.js  

  8.  */  

  9.   

  10. var oBox1,   

  11.     oBox2,   

  12.     oImg1;   

  13.   

  14. window.onload = function(){   

  15.     oBox1 = document.getElementById('box1');   

  16.     oBox2 = document.getElementById('box2');   

  17.     oImg1 = document.getElementById('img1');   

  18.   

  19.     //   

  20.     oBox1.ondragover = oBox2.ondragover = function(e){   

  21.         e.preventDefault();   

  22.     };   

  23.   

  24.     //   

  25.     oImg1.ondragstart = function(e){   

  26.         e.dataTransfer.setData('text', e.target.id);   

  27.     };   

  28.   

  29.     oBox1.ondrop = dropImg;   

  30.     oBox2.ondrop = dropImg;   

  31. };   

  32.   

  33. function dropImg(e){   

  34.     e.preventDefault();   

  35.     var tempImg = document.getElementById(e.dataTransfer.getData('text'));   

  36.     e.target.appendChild(tempImg);   

  37. }    

涉及知識點

在拖放的過程中會觸發以下事件:
在拖動目標上觸發事件 (源元素)
  ondragstart - 用戶開始拖動元素時觸發
  ondrag - 元素正在拖動時觸發
  ondragend - 用戶完成元素拖動后觸發

釋放目標時觸發的事件
  ondragenter - 當被鼠標拖動的對象進入其容器范圍內時觸發此事件
  ondragover - 當某被拖動的對象在另一對象容器范圍內拖動時觸發此事件
  ondragleave - 當被鼠標拖動的對象離開其容器范圍內時觸發此事件
  ondrop - 在一個拖動過程中,釋放鼠標鍵時觸發此事件

event對象(以e代替)

e.target

  W3Cschool上的解釋是:返回觸發此事件的元素(事件的目標節點),這個target屬性只兼容ie9及以上

e.preventDefault()

  取消事件的默認動作。

e.dataTransfer.setData()

  設置被拖數據的數據類型和值:

代碼如下:

e.dataTransfer.setData("Text",ev.target.id);       //第一個參數為Text(小寫的也行)

e.dataTransfer.getData()

  獲得被拖的數據:

代碼如下:

e.dataTransfer.getData("Text");

關于“HTML5實現元素拖拽的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐庐县| 葫芦岛市| 稻城县| 收藏| 寿宁县| 永安市| 安陆市| 庆城县| 双桥区| 平远县| 辰溪县| 淮阳县| 江城| 安陆市| 精河县| 潮安县| 沧州市| 宁明县| 巴林右旗| 同德县| 太仆寺旗| 桓台县| 新化县| 金昌市| 炎陵县| 九龙县| 丰原市| 耿马| 成安县| 瑞安市| 宜春市| 灵璧县| 江山市| 平潭县| 专栏| 禄劝| 涟源市| 磐石市| 马边| 松阳县| 阿拉善右旗|