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

主頁 > 知識庫 > 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)民參考!
  • 推薦文章
    主站蜘蛛池模板: 依安县| 金山区| 丹江口市| 鄂温| 沁阳市| 龙海市| 涞源县| 高邑县| 北票市| 天气| 项城市| 建平县| 康马县| 明溪县| 鄯善县| 阜南县| 三河市| 府谷县| 洛宁县| 洛阳市| 来安县| 阳新县| 绍兴县| 闸北区| 宣威市| 同德县| 忻城县| 安阳市| 谢通门县| 肥西县| 宜兰市| 左贡县| 闽清县| 桐柏县| 松阳县| 肥西县| 阳高县| 偏关县| 西畴县| 普陀区| 张家口市|