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

首頁 > 開發(fā) > HTML5 > 正文

詳解HTML5中的拖放事件(Drag 和 drop)

2024-09-05 07:21:49
字體:
供稿:網(wǎng)友

瀏覽器支持

Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。

注釋:在 Safari 5.1.2 中不支持拖放。

HTML5 拖放實(shí)例

<!DOCTYPE html><html> <head> <style type="text/css"> #div1 {width:488px;height:70px;padding:10px;border:1px solid #aaaaaa;} </style> <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); }  function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); }  function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); } </script> </head> <body>  <p>請(qǐng)把 Aseoe logo的圖片拖放到矩形中:p>  <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">div> <br /> <img id="drag1" src="http://www.aseoe.com/statics/images/eoe/logo.png" draggable="true" ondragstart="drag(event)" />  </body> </html> 

設(shè)置元素為可拖放

首先,為了使元素可拖動(dòng),把 draggable 屬性設(shè)置為 true :

拖動(dòng)什么 - ondragstart 和 setData()

然后,規(guī)定當(dāng)元素被拖動(dòng)時(shí),會(huì)發(fā)生什么。

在上面的例子中,ondragstart 屬性調(diào)用了一個(gè)函數(shù),drag(event),它規(guī)定了被拖動(dòng)的數(shù)據(jù)。

dataTransfer.setData() 方法設(shè)置被拖數(shù)據(jù)的數(shù)據(jù)類型和值:

function drag(ev){ev.dataTransfer.setData("Text",ev.target.id);}

在這個(gè)例子中,數(shù)據(jù)類型是 "Text",值是可拖動(dòng)元素的 id ("drag1")。

放到何處 - ondragover

ondragover 事件規(guī)定在何處放置被拖動(dòng)的數(shù)據(jù)。

默認(rèn)地,無法將數(shù)據(jù)/元素放置到其他元素中。如果需要設(shè)置允許放置,我們必須阻止對(duì)元素的默認(rèn)處理方式。

這要通過調(diào)用 ondragover 事件的 event.preventDefault() 方法:

event.preventDefault()

進(jìn)行放置 - ondrop

當(dāng)放置被拖數(shù)據(jù)時(shí),會(huì)發(fā)生 drop 事件。

在上面的例子中,ondrop 屬性調(diào)用了一個(gè)函數(shù),drop(event):

function drop(ev){ev.preventDefault();var data=ev.dataTransfer.getData("Text");ev.target.appendChild(document.getElementById(data));}

代碼解釋:

調(diào)用 preventDefault() 來避免瀏覽器對(duì)數(shù)據(jù)的默認(rèn)處理(drop 事件的默認(rèn)行為是以鏈接形式打開)

通過 dataTransfer.getData("Text") 方法獲得被拖的數(shù)據(jù)。該方法將返回在 setData() 方法中設(shè)置為相同類型的任何數(shù)據(jù)。

被拖數(shù)據(jù)是被拖元素的 id ("drag1")

把被拖元素追加到放置元素(目標(biāo)元素)中

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)各位學(xué)習(xí)或者使用HTML5能有所幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费观看高清视频网站 | 毛片在线视频观看 | 亚洲性爰 | 美女黄污视频 | 天堂亚洲一区 | 在线观看视频亚洲 | 狠狠干91| aaaaa国产欧美一区二区 | 免费福利在线视频 | 特级毛片免费视频 | 久久久久免费精品国产小说色大师 | 成人激情在线观看 | 麻豆传传媒久久久爱 | 黄视频在线网站 | 狠狠操人人干 | 成年片在线观看 | 亚洲成人中文字幕在线 | 一区二区国产在线 | 成人激情在线观看 | 免费看日韩av | 国产一级一级 | 免费在线观看毛片视频 | 久久精品23 | 91成人免费网站 | 精品国产99久久久久久宅男i | 亚洲国产高清自拍 | 全黄性性激高免费视频 | 黄色特级| 国产成人精品一区在线播放 | 国产在线观看91一区二区三区 | 国产va在线观看 | 国产精品久久久久无码av | 成人免费观看av | 国产喷白浆10p | 国产美女精品视频 | 国产成人高潮免费观看精品 | h色网站免费观看 | 国产日本在线 | 国产精品久久久乱弄 | 久久综合综合 | 精品一区二区三区欧美 |