亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

黎城县| 金塔县| 滁州市| 丰顺县| 綦江县| 东阿县| 廊坊市| 阿勒泰市| 贞丰县| 屏南县| 卫辉市| 呼和浩特市| 罗定市| 清水河县| 白沙| 龙南县| 南华县| 东城区| 镇江市| 象州县| 苗栗市| 赤峰市| 古田县| 乐陵市| 郎溪县| 三明市| 克东县| 通山县| 夏邑县| 于都县| 二连浩特市| 滨州市| 嘉善县| 库伦旗| 石嘴山市| 永善县| 那坡县| 芜湖县| 长武县| 浮梁县| 德江县|