成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

HTML5 拖放、交換位置

番茄西紅柿 / 1344人閱讀

摘要:放到何處放到何處事件規(guī)定在何處放置被拖動(dòng)的數(shù)據(jù)。如果需要設(shè)置允許放置,我們必須阻止對元素的默認(rèn)處理方式。注釋在中不支持拖放。

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

draggable 屬性設(shè)置為 true:

    <img draggable="true" />
拖動(dòng)什么 - ondragstart 和 setData()
dataTransfer.setData() 方法設(shè)置被拖數(shù)據(jù)的數(shù)據(jù)類型和值:

    function drag(e) {
        e.dataTransfer.setData("text/html", value);
    }
注:"text/html"參數(shù),我在Mac上用Safari打開,遇到過不能正常解析,解決方法把html和text位置互換一下。
放到何處 - ondragover
ondragover 事件規(guī)定在何處放置被拖動(dòng)的數(shù)據(jù)。
默認(rèn)地,無法將數(shù)據(jù)/元素放置到其他元素中。如果需要設(shè)置允許放置,我們必須阻止對元素的默認(rèn)處理方式。

  event.preventDefault();
進(jìn)行放置 - ondrop
調(diào)用 preventDefault() 來避免瀏覽器對數(shù)據(jù)的默認(rèn)處理(drop 事件的默認(rèn)行為是以鏈接形式打開)
通過 dataTransfer.getData("text/html") 方法獲得被拖的數(shù)據(jù)。該方法將返回在 setData() 方法中設(shè)置為相同類型的任何數(shù)據(jù)。

function drop(e) {
    e.preventDefault();
}
瀏覽器支持
Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。

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

示例:

Example1:
DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Documenttitle>
    <style type="text/css">
    html,
    body {
        margin: 0;
        padding: 0;
    }
    .drag {
        width: 50px;
        height: 50px;
        background: blue;
        display: inline-block;
        margin: 10px;
        color: white;
        font-size: 20px;
        text-align: center;
        line-height: 50px;
        cursor: move;
    }
    style>
head>

<body>
    <div class="drag drag1" draggable="true" ondragstart="drag(event, this)" ondragover="allowDrop(event)" ondrop="drop(event,this)">1div>
    <div class="drag drag2" draggable="true" ondragstart="drag(event, this)" ondragover="allowDrop(event)" ondrop="drop(event,this)">2div>
    <div class="drag drag3" draggable="true" ondragstart="drag(event, this)" ondragover="allowDrop(event)" ondrop="drop(event,this)">3div>

    <script type="text/javascript">
        var srcEl = null;
        function drag(e, el) {
            srcEl = el;
            e.dataTransfer.setData("text/html", el.innerHTML);
        }
        function drop(e, el){
            e.preventDefault();
            // e.stopPropagation();
            if (srcEl != el) {
                srcEl.innerHTML = el.innerHTML;
                el.innerHTML = e.dataTransfer.getData("text/html");
            }
        }
        function allowDrop(e) {
            e.preventDefault();
        }
    script>
body>

html>
Example2:
DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Documenttitle>
    <style type="text/css">
    html,
    body {
        margin: 0;
        padding: 0;
    }

    #div1 {
        width: 300px;
        height: 300px;
        border: 1px solid red;
    }

    #drag1 {
        width: 300px;
        height: 300px;
    }
    style>
head>

<body>
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">div>
    <img id="drag1" draggable="true" ondragstart="drag(event)"
        src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=175152409,3501278703&fm=27&gp=0.jpg" />
    <script type="text/javascript">
    function drag(e) {
        e.dataTransfer.setData("text/html", e.target.id);
    }

    function drop(e) {
        e.preventDefault();
        e.stopPropagation();
        var id = e.dataTransfer.getData(text/html);
        e.target.appendChild(document.getElementById(id));
    }

    function allowDrop(e) {
        e.preventDefault();
    }
    script>
body>

html>

 W3school原文鏈接:http://www.w3school.com.cn/html5/html_5_draganddrop.asp

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/2075.html

相關(guān)文章

  • HTML5 原生拖放

    摘要:發(fā)展原生拖放的發(fā)展大致可分為三個(gè)階段。在的實(shí)例基礎(chǔ)上,進(jìn)一步制定了拖放的規(guī)范。也根據(jù)規(guī)范實(shí)現(xiàn)了原生拖放功能。被拖動(dòng)的元素在放置目標(biāo)范圍內(nèi)移動(dòng)時(shí),會(huì)持續(xù)觸發(fā)該事件。參考資料拖放操作拖拽操作拖拽類型列表高級程序設(shè)計(jì)第版第章腳本編程原生拖放 發(fā)展 原生拖放的發(fā)展大致可分為三個(gè)階段:IE4、IE5+、HTML5。 IE4 是最早在網(wǎng)頁中引入 JavaScript 拖放功能的,當(dāng)時(shí)只有圖像和選中...

    Thanatos 評論0 收藏0
  • JavaScript HTML5腳本編程——“原生拖放”的注意要點(diǎn)

    摘要:在中,唯一有效的放置目標(biāo)是文本框。以的實(shí)例為基礎(chǔ)指定了拖放規(guī)范。觸發(fā)事件后,隨即會(huì)觸發(fā)事件,而且在元素被拖動(dòng)期間會(huì)持續(xù)發(fā)送該事件。指定一副圖像,當(dāng)拖動(dòng)發(fā)生時(shí),顯示在光標(biāo)下方。 最早在網(wǎng)頁中引入JavaScript拖放功能是IE4。當(dāng)時(shí),網(wǎng)頁中只有兩種對象可以拖放:圖像和某些文本。在IE4中,唯一有效的放置目標(biāo)是文本框。到了IE5,拖放功能得到拓展,添加了新的事件,而且?guī)缀蹙W(wǎng)頁中的任何元...

    forsigner 評論0 收藏0
  • HTML5新特性

    摘要:年月日,萬維網(wǎng)聯(lián)盟宣布,標(biāo)準(zhǔn)規(guī)范制定完成。作為一種超文本標(biāo)記語言,已經(jīng)成為了上使用的通用標(biāo)記語言,而在這次的規(guī)范中,為開發(fā)者帶來了一些令人興奮的新特性。 2014年10月29日,W3C(萬維網(wǎng)聯(lián)盟)宣布,HTML5標(biāo)準(zhǔn)規(guī)范制定完成。作為一種超文本標(biāo)記語言,HTML已經(jīng)成為了Web上使用的通用標(biāo)記語言,而在這次HTML5的規(guī)范中,為開發(fā)者帶來了一些令人興奮的新特性。 下面簡單地介紹下這些...

    bang590 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<