主頁 > 知識庫 > HTML5 拖放功能實(shí)現(xiàn)代碼

HTML5 拖放功能實(shí)現(xiàn)代碼

熱門標(biāo)簽:貸款電銷人工和機(jī)器人哪個(gè)好 百應(yīng)電銷機(jī)器人產(chǎn)業(yè) 飛亞外呼系統(tǒng) 電視購物電銷外呼系統(tǒng) 西寧智能外呼系統(tǒng)加盟 杭州營銷電銷機(jī)器人供應(yīng)商 高德地圖標(biāo)注賓館位置 聯(lián)通400電話申請 電話機(jī)器人如何
在HTML5中,拖放是標(biāo)準(zhǔn)的一部分,任何元素都能夠拖放,具體內(nèi)容如下

1、拖放 

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <head>  
  4. <style type="text/css">  
  5. #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}   
  6. </style>  
  7. <script>  
  8. function allowDrop(ev)   
  9. {   
  10. ev.preventDefault();   
  11. }   
  12. function drag(ev)   
  13. {   
  14. ev.dataTransfer.setData("Text",ev.target.id);   
  15. }   
  16. function drop(ev)   
  17. {   
  18. ev.preventDefault();   
  19. var data=ev.dataTransfer.getData("Text");   
  20. ev.target.appendChild(document.getElementById(data));   
  21. }   
  22. </script>  
  23. </head>  
  24. <body>  
  25. <p>拖動 W3CSchool.cc 圖片到矩形框中:</p>  
  26. <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>  
  27. <br>  
  28. <img id="drag1" src="/images/logo.png" draggable="true" ondragstart="drag(event)" width="336" height="69">  
  29. </body>  
  30. </html>   

2、設(shè)置元素為可拖放
 
首先,為了使元素可拖動,把 draggable 屬性設(shè)置為 true :<img draggable="true">
 
3、拖動什么 - ondragstart 和 setData()
 
然后,規(guī)定當(dāng)元素被拖動時(shí),會發(fā)生什么。在上面的例子中,ondragstart 屬性調(diào)用了一個(gè)函數(shù),drag(event),它規(guī)定了被拖動的數(shù)據(jù)。dataTransfer.setData() 方法設(shè)置被拖數(shù)據(jù)的數(shù)據(jù)類型和值:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. function drag(ev)   
  2. {   
  3.    ev.dataTransfer.setData("Text",ev.target.id);   
  4. }    

在這個(gè)例子中,數(shù)據(jù)類型是 "Text",值是可拖動元素的 id ("drag1")。
 
4、放到何處 - ondragover
 
ondragover 事件規(guī)定在何處放置被拖動的數(shù)據(jù)。默認(rèn)地,無法將數(shù)據(jù)/元素放置到其他元素中。如果需要設(shè)置允許放置,我們必須阻止對元素的默認(rèn)處理方式。這要通過調(diào)用 ondragover 事件的 event.preventDefault() 方法:event.preventDefault()
 
5、進(jìn)行放置 - ondrop
 
 當(dāng)放置被拖數(shù)據(jù)時(shí),會發(fā)生 drop 事件。在上面的例子中,ondrop 屬性調(diào)用了一個(gè)函數(shù),drop(event):

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. function drop(ev)   
  2. {   
  3. ev.preventDefault();   
  4. var data=ev.dataTransfer.getData("Text");   
  5. ev.target.appendChild(document.getElementById(data));   
  6. }    

代碼解釋:

調(diào)用 preventDefault() 來避免瀏覽器對數(shù)據(jù)的默認(rèn)處理(drop 事件的默認(rèn)行為是以鏈接形式打開)。通過 dataTransfer.getData("Text") 方法獲得被拖的數(shù)據(jù)。該方法將返回在 setData() 方法中設(shè)置為相同類型的任何數(shù)據(jù)。被拖數(shù)據(jù)是被拖元素的 id ("drag1")。把被拖元素追加到放置元素(目標(biāo)元素)中。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:牡丹江 煙臺 邯鄲 撫州 玉溪 內(nèi)蒙古 晉中 安慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5 拖放功能實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  HTML5,拖放,功能,實(shí)現(xiàn),代碼,;如發(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 拖放功能實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5 拖放功能實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章