久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

大家都知道拖放是一種常見的特性,即抓取對象以后拖到另一個位置。在 HTML5 中,拖放是標(biāo)準(zhǔn)的一部分,任何元素都能夠拖放。拖放是在“拖放源(drag source)”和“拖放目標(biāo)(drop ta

瀏覽器支持

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>請把 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è)置元素為可拖放

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

拖動什么 - ondragstart 和 setData()

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

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

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

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

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

放到何處 - ondragover

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

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

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

event.preventDefault()

進(jìn)行放置 - ondrop

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

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

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

代碼解釋:

調(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)元素)中

總結(jié)

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

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了有關(guān)HTML5頁面在iPhoneX適配問題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實(shí)現(xiàn)柱狀圖的示例,本文使用canvas來實(shí)現(xiàn)一個圖表,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Adobe公司出品的多媒體處理軟件產(chǎn)品線較多,涵蓋了音視頻編輯、圖像處理、平面設(shè)計(jì)、影視后期等領(lǐng)域。這篇文章主要介紹了Adobe Html5 Extension開發(fā)初體驗(yàn)圖文教程,非常不錯,需要的朋
這篇文章主要介紹了基于HTML5的WebGL經(jīng)典3D虛擬機(jī)房漫游動畫,需要的朋友可以參考下
這篇文章主要介紹了html5實(shí)現(xiàn)移動端適配完美寫法,需要的朋友可以參考下
本篇文章主要介紹了HTML5響應(yīng)式(自適應(yīng))網(wǎng)頁設(shè)計(jì)的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 国产精品一区在线 | 日韩一区二 | 在线观看www| 成人亚洲精品久久久久软件 | 男人天堂av网 | 亚洲精品成人在线 | 国产精品成人在线 | 精品视频免费 | 亚洲精品久久久久久宅男 | 日本国产高清 | 免费观看成人鲁鲁鲁鲁鲁视频 | 中文字幕第一页在线 | 伊色综合久久之综合久久 | 欧美精品一区二区三区在线 | 看av在线 | 91精品国产欧美一区二区 | 国产精品视频一二三区 | 亚洲欧美日韩电影 | 91精品国产乱码久久久久久久久 | 91视频一区二区三区 | 亚洲高清免费 | 视频一二三区 | www操操 | 国产精品久久一区 | 色一阁 | 日日摸日日爽 | 日韩综合在线视频 | 精品福利av导航 | 成人在线网 | 午夜影院在线观看视频 | 久久久久国产 | 成人精品久久日伦片大全免费 | 国产一区91精品张津瑜 | 日韩在线小视频 | 极品在线| 一级免费毛片 | 久久国产精品久久久久久 | 极情综合网 | 女女百合av大片一区二区三区九县 | 国产欧美日韩精品一区二区三区 | 免费黄视频网站 |