校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

HTML5拖放效果的實(shí)現(xiàn)代碼

熱門標(biāo)簽:西寧智能外呼系統(tǒng)加盟 杭州營銷電銷機(jī)器人供應(yīng)商 電視購物電銷外呼系統(tǒng) 高德地圖標(biāo)注賓館位置 飛亞外呼系統(tǒng) 電話機(jī)器人如何 貸款電銷人工和機(jī)器人哪個(gè)好 聯(lián)通400電話申請 百應(yīng)電銷機(jī)器人產(chǎn)業(yè)

拖放

拖放是一種常見的特性,即抓取對象以后拖到另一個(gè)位置。

在 HTML5 中,拖放是標(biāo)準(zhǔn)的一部分,任何元素都能夠拖放。

Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持拖動(dòng)。

注意:Safari 5.1.2不支持拖動(dòng).

實(shí)例:

<!DOCTYPE html>  
<html>  
<head>  
    <title>拖放</title>  
    <style type="text/css">  
        #div1{width:360px;height:220px;padding:20px;border:1px solid black;}  
    </style>  
    <script>  
        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>  
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>  
    <br />  
    <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)"  width="300px" height="180px" />  
</body>  
</html>  

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

然后,規(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 事件規(guī)定在何處放置被拖動(dòng)的數(shù)據(jù)。
默認(rèn)地,無法將數(shù)據(jù)/元素放置到其他元素中。如果需要設(shè)置允許放置,我們必須阻止對元素的默認(rèn)處理方式。
這要通過調(diào)用 ondragover 事件 event.preventDefault() 方法event.preventDefault()

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

來回拖動(dòng):

若要在兩個(gè)地方來回拖動(dòng),只需將上面代碼稍作修改就行了.
將body中的代碼改成:

<body>  
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">  
    <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)"  width="300px" height="180px" /></div>  
    <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>  
</body>  

然后在style樣式中加上#div2就可以了:

<style type="text/css">  
        #div1,#div2{width:360px;height:220px;padding:20px;border:1px solid black;}  
    </style>  

這樣就可以實(shí)現(xiàn)來回拖放了。

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

標(biāo)簽:玉溪 撫州 煙臺(tái) 晉中 安慶 內(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)民參考!
  • 推薦文章
    主站蜘蛛池模板: 巨野县| 卢氏县| 沙河市| 东丽区| 伊春市| 武汉市| 惠安县| 永登县| 洪雅县| 巫山县| 香港| 阿拉善盟| 喀喇沁旗| 台南市| 客服| 阿瓦提县| 张家界市| 尼勒克县| 察雅县| 吐鲁番市| 宣武区| 衡阳市| 泸定县| 什邡市| 安吉县| 甘肃省| 邓州市| 子洲县| 大荔县| 安康市| 陆良县| 广宁县| 伊吾县| 富民县| 华亭县| 桃园市| 奉节县| 四会市| 陵川县| 莱阳市| 磴口县|