Rumah hujung hadapan web Tutorial H5 Serbuan pada Sambungan API Javascript HTML5 4—Seret/Lepaskan Gambaran Keseluruhan_html5 Petua Tutorial

Serbuan pada Sambungan API Javascript HTML5 4—Seret/Lepaskan Gambaran Keseluruhan_html5 Petua Tutorial

May 16, 2016 pm 03:49 PM
drop seret

Drag/Drop ialah fungsi yang sangat biasa. Anda boleh ambil objek dan seret ke kawasan yang anda mahu letakkan. Banyak javascript melaksanakan fungsi yang serupa, contohnya, komponen draganddrop jQueryUI. Dalam HTML5, seret dan lepas telah menjadi operasi standard dan disokong oleh mana-mana elemen. Oleh kerana ciri ini sangat biasa, semua pelayar utama menyokong operasi ini.
Mendayakan atribut boleh seret
Anda hanya perlu menukar atribut seret unsur kepada boleh seret, seperti yang ditunjukkan di bawah:

Salin kod
Kod tersebut adalah seperti berikut:


Pemindahan data semasa menyeret
Semasa proses menyeret, kami selalunya perlu memindahkan data logik yang sepadan untuk melengkapkan proses penukaran Di sini kami menggunakan objek Pemindahan data untuk pemindahan data, mari kita lihat ahlinya:
Ahli kaedah:

Salin kod
The kod adalah seperti berikut:

setData(format,data): Berikan data yang diseret ke objek Pemindahan data.

format: parameter Rentetan yang menentukan jenis data yang diseret. Nilai parameter ini boleh menjadi "Teks" (jenis teks) dan "URL" (jenis URL). Parameter ini bebas huruf besar-kecil, jadi hantaran dalam "teks" dan "Teks" adalah sama.
data: Parameter jenis varian yang menentukan data yang diseret. Data boleh berupa teks, laluan imej, URL, dsb.
Fungsi ini mempunyai nilai pulangan Boolean benar bermakna data berjaya ditambahkan pada Pemindahan data, palsu bermakna tidak berjaya. Jika perlu, anda boleh menggunakan parameter ini untuk memutuskan sama ada logik tertentu harus terus dilaksanakan.

Salin kod
Kod adalah seperti berikut:

getData(format): Dapatkan data yang disimpan dalam dataTransfer drag data.

Maksud format adalah sama seperti dalam setData, dan nilainya boleh menjadi "Teks" (jenis teks) dan "URL" (jenis URL).

Salin kod
Kod adalah seperti berikut:

clearData(format): alih keluar data jenis yang ditentukan.

Selain "Teks" (jenis teks) dan "URL" (jenis URL) yang boleh ditentukan di atas, format di sini juga boleh mengambil nilai berikut: fail-fail, html- elemen html, imej -gambar.
Kaedah ini boleh digunakan untuk memproses jenis data yang diseret secara selektif.
Ahli atribut:

Salin kod
Kod adalah seperti berikut:

effectAllowed: Menetapkan atau mendapatkan operasi yang boleh dilakukan oleh data dalam elemen sumber data.

Jenis atribut ialah rentetan, dan julat nilai adalah seperti berikut:
"copy"-copy data
"link"-link data
"move"-. alihkan data
"copyLink"-Salin atau paut data, ditentukan oleh objek sasaran.
"copyMove"-Salin atau alihkan data, ditentukan oleh objek sasaran.
"linkMove" - ​​​​Pautkan atau alihkan data, seperti yang ditentukan oleh objek sasaran.
"semua"-Semua operasi disokong.
"tiada"-Lumpuhkan penyeretan.
"uninitialized"-Nilai lalai, pakai tingkah laku lalai.
Perhatikan bahawa selepas menetapkan effectAllowed to none, menyeret adalah dilarang, tetapi bentuk tetikus masih memaparkan bentuk objek yang tidak boleh diseret. Jika anda tidak mahu memaparkan bentuk tetikus ini, anda perlu menetapkan atribut returnValue peristiwa peristiwa tetingkap kepada palsu.

Salin kod
Kod adalah seperti berikut:

dropEffect: Tetapkan atau dapatkan sasaran seret Operasi yang dibenarkan pada .dan bentuk tetikus yang berkaitan.

Jenis atribut ialah rentetan, dan julat nilai adalah seperti berikut:
"salinan"-tetikus dipaparkan sebagai bentuk apabila disalin
"pautan"-tetikus ialah; dipaparkan sebagai bentuk bersambung;
"move"-Tetikus muncul sebagai bentuk bergerak.
"tiada" (lalai) - Tetikus muncul sebagai bentuk tanpa menyeret.
effectAllowed menentukan operasi yang disokong oleh sumber data, jadi ia biasanya dinyatakan dalam acara ondragstart. dropEffect menentukan operasi yang disokong oleh sasaran seret dan lepas, jadi bersempena dengan effectAllowed, ia biasanya digunakan dalam acara ondragenter, ondragover dan ondrop pada sasaran seret.

Salin kod
Kod adalah seperti berikut:

fail: Mengembalikan senarai fail yang diseret FileList.
Jenis: Senarai jenis data (data diseret) yang dihantar dalam ondragstart.

Kewujudan objek Pemindahan data memungkinkan untuk memindahkan data logik antara sumber data yang diseret dan elemen sasaran. Biasanya kami menggunakan kaedah setData untuk menyediakan data dalam acara ondragstart elemen sumber data, dan kemudian menggunakan kaedah getData untuk mendapatkan data dalam elemen sasaran.
Peristiwa yang dicetuskan semasa menyeret
Berikut ialah peristiwa yang akan berlaku semasa seretan Pada asasnya, urutan peristiwa yang mencetuskan ialah urutan berikut:

<. 🎜>
Salin kodKod adalah seperti berikut:
dragstart: Dicetuskan apabila elemen yang hendak diseret mula diseret objek ialah elemen Seret dan lepas.
seret: Dicetuskan apabila elemen diseret. Objek peristiwa ini ialah elemen yang diseret.
dragenter: Dicetuskan apabila elemen seret memasuki elemen sasaran. Objek peristiwa ini ialah elemen sasaran.
dragover: Dicetuskan apabila elemen diseret dan dialihkan pada elemen sasaran Objek peristiwa ini ialah elemen sasaran.
dragleave: Dicetuskan apabila elemen diseret keluar daripada elemen sasaran Objek peristiwa ini ialah elemen sasaran.
jatuhkan: Dicetuskan apabila elemen yang diseret diletakkan dalam elemen sasaran Objek peristiwa ini ialah elemen sasaran.
dragend: Dicetuskan selepas jatuh, iaitu, dicetuskan apabila penyeretan selesai Objek acara ini ialah elemen yang diseret.

Pada asasnya, parameter acara acara akan diluluskan dalam elemen yang berkaitan, yang boleh diubah suai dengan mudah. Di sini, kami tidak perlu mengendalikan setiap acara, biasanya kami hanya perlu menyambung acara utama.

Acara mula-ondragstart seret Parameter yang dihantar masuk dari acara ini mengandungi maklumat yang sangat kaya, yang daripadanya elemen yang diseret (event.Target) boleh diperolehi dengan mudah; Anda boleh menetapkan data yang diseret (event.dataTransfer.setData); supaya anda boleh melaksanakan logik di sebalik penyeretan dengan mudah (sudah tentu anda juga boleh melepasi parameter lain apabila mengikat).

Semasa proses menyeret - acara ondrag, ondragover, ondragenter dan ondragleave
Objek acara ondrag ialah elemen seret, dan biasanya acara ini dikendalikan kurang kerap. Peristiwa ondragenter berlaku apabila seretan memasuki elemen semasa, peristiwa ondragleave berlaku apabila seretan meninggalkan elemen semasa, dan peristiwa ondragover berlaku apabila seretan bergerak dalam elemen semasa.
Anda hanya perlu memberi perhatian kepada satu perkara di sini, kerana secara lalai, penyemak imbas melarang elemen daripada digugurkan, jadi untuk membolehkan elemen digugurkan, anda perlu mengembalikan palsu dalam fungsi ini atau memanggil acara.preventDefault () kaedah. Seperti yang ditunjukkan dalam contoh di bawah.

Seret end-ondrop, ondragend event Apabila data boleh seret digugurkan, acara drop akan dicetuskan. Selepas penurunan selesai, acara dragend dicetuskan, dan acara ini agak jarang digunakan.
Lihat contoh mudah:


Salin kod Kodnya adalah seperti berikut:



preventDefault();
}
functiondrag(ev){
ev.dataTransfer.setData("Teks",ev.target.id); >vardata=ev .dataTransfer.getData("Text"); skrip>


< ;imgid="drag1"src="img_logo.gif"draggable="true"ondragstart="drag(event)"width="336"height="69"/>

Menyeret fail
Contoh di atas telah menggunakan pelbagai kaedah dan atribut Pemindahan data Mari lihat satu lagi aplikasi menarik di Internet: seret dan lepaskan imej ke halaman web, dan kemudian dipaparkan pada laman web tersebut. Aplikasi ini menggunakan atribut fail dataTransfer.

Salin kod
Kodnya adalah seperti berikut:

🎜>< ;html>


#section{font-family:"Georgia","Microsoft Yahei","中文中宋";}
.container{display:inline-block;min-height:200px;min-width:360px; warna: #f30;padding:30px;border:3pxsolid#ddd;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}
.pratonton{max-width: 360px; }
#files-list{position:absolute;top:0;left:500px;}
#list{width:460px;}
#list.preview{max-width:250px;}
#listp{color:#888;font-size:12px;}
#list.green{color:#09c;}

>< ;body>

Seret imej anda ke dalam bekas di bawah:



Fail yang telah diseret masuk:


< ;ulid="list">

= document.getElementById('list'),
cnt=document.getElementById('container');//Tentukan sama ada imej
functionisImage(type){
switch(type) {
case'image/jpeg':
case'image/png':
case'image/gif':
case'image/bmp':
case'image/jpg' :
returntrue;
lalai:
returnfalse;
}
}
//Kendalikan senarai fail seret dan lepas
functionhandleFileSelect(evt){
evt.stopPropagation ();
evt.preventDefault();
varfiles=evt.dataTransfer.files; .type?f.type :'n/a',
reader=newFileReader(),
looks=function(f,img){
list.innerHTML ='
  • ' f.name '< ;/strong>(' t
    ')-' f.size 'bait

    ' img '

  • ';
    cnt.innerHTML= img;
    } ,
    isImg=isImage(t),
    img;
    //Imej yang diproses
    if(isImg){
    reader.onload=(function(theFile) {
    fungsi pemulangan (e){
    img=''
    kelihatan(theFile,img );
    };
    })(f)
    reader.readAsDataURL(f); ))o", Apa yang anda hantar bukan gambar! ! ';
    looks(f,img);
    }
    }
    }
    //Kendalikan kesan sisipan dan seret
    functionhandleDragEnter(evt){this.setAttribute('style' , 'border-style:dashed;');}
    functionhandleDragLeave(evt){this.setAttribute('style','');}
    //Kendalikan acara seret masuk fail untuk menghalang peristiwa lalai penyemak imbas daripada menyebabkan Redirect
    functionhandleDragOver(evt){
    evt.stopPropagation();
    evt.preventDefault(); 🎜>cnt.addEventListener('dragover',handleDragOver,false);
    cnt.addEventListener('drop',handleFileSelect,false); }lain{
    document.getElementById('section').innerHTML='Pelayar anda tidak menyokongnya, rakan sekelas'; >


    Contoh ini menggunakan API membaca fail dalam html5: objek FileReader ini menyediakan kaedah tak segerak berikut untuk membaca fail:
    1.
    Baca fail dalam mod binari, atribut hasil akan mengandungi format binari fail
    2.FileReader.readAsText(fileBlob,opt_encoding)
    Baca fail dalam mod teks , atribut hasil akan mengandungi format teks fail, dan parameter penyahkod lalai ialah "utf-8".
    3.FileReader.readAsDataURL(file)
    Hasil pembacaan fail dalam bentuk URL akan mengandungi format DataURL fail (gambar biasanya digunakan dengan cara ini).
    Apabila fail dibaca menggunakan kaedah di atas, peristiwa berikut akan dicetuskan:





    Salin kod


    Kodnya adalah seperti berikut:


    onloadstart, onprogress, onabort, onerror, onload, onloadend


    Acara ini sangat mudah, cuma sambungkannya apabila diperlukan. Lihat contoh kod di bawah:

    Salin kod
    Kodnya seperti berikut:

    functionstartRead() {
    //obtaininputelementthroughDOM
    varfile=document.getElementById('file').files[0]; }
    }
    functiongetAsText(readFile){
    varreader=newFileReader();
    //ReadfileintomemoryasUTF-16
    reader.readAsText(readFile,"UTF-16"> /Handleprogress,success, anderrors
    reader.onprogress=updateProgress;
    reader.onload=loaded;
    reader.onerror=errorHandler; evt.lengthComputable){
    //evt.loadedandevt.totalareProgressEventproperties
    varloaded=(evt.loaded/evt.total); /style.width= (dimuatkan*200) "px";
    }
    }
    }
    functionloaded(evt){
    //Obtainthereadfiledata
    varfileString=evt.target.result ;
    / /HandleUTF-16filedump
    if(utils.regexp.isChinese(fileString)){
    //Pengesahan Nama Aksara Cina
    }
    else{
    //runothercharsettest}🎜
    // xhr.send(fileString)
    }
    functionerrorHandler(evt){
    if(evt.target.error.name=="NotReadableErr"){
    //Thefilecouldnotberead
    }
    }


    Penjelasan ringkas di sini: Muat turun fail biasa menggunakan kaedah window.open, contohnya:





    Salin kod


    Kod adalah seperti berikut:


    window.open('http://aaa.bbbb.com/ccc.rar','_blank' )
    Rujukan praktikal:
    Dokumentasi rasmi:
    http://www.w3schools.com/html5/

    Tapak web tutorial yang bagus: http://html5.phphubei.com/html5/features/DrapAndDrop/
    Bantuan MSDN:
    http://msdn.microsoft.com/en-us/library/ms535861( v=vs.85 ).aspx
    Butiran seret dan lepas fail:http://www.html5rocks.com/zh/tutorials/file/dndfiles/
    Seret fail dan lepas dan muat naik:
    http://www.chinaz.com/design/2010/0909/131984.shtmlContoh lengkap muat naik seret dan lepas fail:
    http://www. cnblogs.com/liaofeng/archive/ 2011/05/18/2049928.html
    Contoh muat turun fail:http://hi.baidu.com/guo_biru/item/2d7201c012b6debd0>strategi tetingkap.terbuka:
    http://www.cnblogs.com/liulf/archive/2010/03/01/1675511.htmlparameter tetingkap.terbuka:
    http:/ /www.koyoz.com/blog /?action=show&id=176
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi seret dan zum imej? Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi seret dan zum imej? Oct 27, 2023 am 09:39 AM

    Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi seret dan zum imej? Dalam pembangunan web moden, menyeret dan mengezum imej adalah keperluan biasa. Dengan menggunakan JavaScript, kami boleh menambahkan fungsi seret dan zum pada imej dengan mudah untuk memberikan pengalaman pengguna yang lebih baik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi ini, dengan contoh kod khusus. Struktur HTML Pertama, kita memerlukan struktur HTML asas untuk memaparkan gambar dan menambah

    Cara melaksanakan pengisihan seret dan lepas dan operasi seret dan lepas dalam uniapp Cara melaksanakan pengisihan seret dan lepas dan operasi seret dan lepas dalam uniapp Oct 19, 2023 am 09:39 AM

    Uniapp ialah rangka kerja pembangunan merentas platform Keupayaan merentas hujungnya yang berkuasa membolehkan pembangun membangunkan pelbagai aplikasi dengan cepat dan mudah. Ia juga sangat mudah untuk melaksanakan operasi pengisihan seret dan lepas dan seret dan lepas dalam Uniapp, dan ia boleh menyokong operasi seret dan lepas pelbagai komponen dan elemen. Artikel ini akan memperkenalkan cara menggunakan Uniapp untuk melaksanakan pengisihan drag-and-drop dan operasi drag-and-drop, serta memberikan contoh kod khusus. Fungsi pengisihan seret dan lepas adalah sangat biasa dalam banyak aplikasi Contohnya, ia boleh digunakan untuk melaksanakan pengisihan seret dan lepas senarai, seret dan lepaskan ikon, dsb. Di bawah kami senaraikan

    Petua dan amalan terbaik untuk pemilihan seret dan lepas dan peletakan dalam Vue Petua dan amalan terbaik untuk pemilihan seret dan lepas dan peletakan dalam Vue Jun 25, 2023 am 10:13 AM

    Vue ialah rangka kerja JavaScript popular yang sesuai untuk membina aplikasi halaman tunggal (SPA). Ia menyokong pemilihan drag-and-drop dan fungsi peletakan melalui arahan dan komponen, memberikan pengguna pengalaman interaktif yang lebih baik. Artikel ini akan memperkenalkan teknik dan amalan terbaik untuk pemilihan seret dan lepas dan peletakan dalam Vue. Drag Instruction Vue menyediakan arahan v-draggable yang boleh mencapai kesan seretan dengan mudah. Perintah ini boleh digunakan pada mana-mana elemen, dan gaya seret boleh disesuaikan.

    Cara menggunakan Vue untuk melaksanakan kesan pengisihan seret dan lepas Cara menggunakan Vue untuk melaksanakan kesan pengisihan seret dan lepas Sep 20, 2023 pm 03:01 PM

    Cara menggunakan Vue untuk melaksanakan kesan pengisihan seret dan lepas Vue.js ialah rangka kerja JavaScript popular yang boleh membantu kami membina aplikasi bahagian hadapan yang sangat interaktif. Dalam Vue, kami boleh melaksanakan kesan isihan seret dan lepas dengan mudah, membolehkan pengguna mengisih data dengan menyeret elemen. Artikel ini akan memperkenalkan cara menggunakan Vue untuk melaksanakan kesan pengisihan seret dan lepas dan memberikan contoh kod khusus. Mula-mula, kita perlu mencipta contoh Vue dan menentukan tatasusunan untuk menyimpan data yang hendak diisih. Dalam contoh kita akan

    Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus Sep 15, 2023 am 08:24 AM

    Kemahiran praktikal Vue: Gunakan arahan v-on untuk mengendalikan acara seret tetikus Prakata: Vue.js ialah rangka kerja JavaScript yang popular Kesederhanaan, kemudahan penggunaan dan fleksibiliti menjadikannya pilihan pertama bagi banyak pembangun. Dalam pembangunan aplikasi Vue, pengendalian peristiwa interaksi pengguna adalah kemahiran penting. Artikel ini akan memperkenalkan cara menggunakan arahan v-on Vue untuk mengendalikan peristiwa seret tetikus dan memberikan contoh kod khusus. Buat contoh Vue: Mula-mula, perkenalkan fail perpustakaan Vue.js dalam fail HTML: &

    Bagaimana untuk menyalin dan mengalihkan elemen drag-and-drop dalam Vue? Bagaimana untuk menyalin dan mengalihkan elemen drag-and-drop dalam Vue? Jun 25, 2023 am 08:35 AM

    Vue ialah rangka kerja JavaScript popular yang menyediakan fungsi seret dan lepas yang mudah, membolehkan kami menyalin dan memindahkan elemen dengan mudah. Seterusnya, mari kita lihat cara menyalin dan mengalihkan elemen seret dan lepas dalam Vue. 1. Pelaksanaan asas elemen drag-and-drop Untuk menyalin dan mengalihkan elemen drag-and-drop dalam Vue, anda perlu melaksanakan fungsi drag-and-drop asas elemen tersebut terlebih dahulu. Kaedah pelaksanaan khusus adalah seperti berikut: Tambah elemen yang perlu diseret dalam templat: &lt;divclass="drag-elem"

    Tawaran | Tesla Model 3 Long Range AWD mendapat semula penuh insentif cukai $7,500, turun ke bawah $40,000 Tawaran | Tesla Model 3 Long Range AWD mendapat semula penuh insentif cukai $7,500, turun ke bawah $40,000 Jun 19, 2024 am 09:55 AM

    Tidak lama selepas Tesla melancarkan penyegaran Model 3 Highland menjelang penghujung tahun lepas, peraturan insentif cukai EV persekutuan AS berubah, memotong separuh potensi diskaun untuk pembeli yang layak kerana Tesla menggunakan sel LFP Cina dalam M baharu

    Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi menyeret dan menjatuhkan untuk menukar saiz elemen? Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi menyeret dan menjatuhkan untuk menukar saiz elemen? Oct 21, 2023 am 11:34 AM

    Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi menyeret dan menjatuhkan untuk menukar saiz elemen? Dengan perkembangan teknologi Web, semakin banyak halaman web perlu mempunyai fungsi menyeret dan menjatuhkan untuk menukar saiz elemen. Sebagai contoh, anda boleh menyeret dan mengubah saiz elemen div untuk melaraskan lebar dan ketinggiannya. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mencapai fungsi ini dan menyediakan contoh kod khusus. Sebelum kita mula, kita perlu memahami beberapa konsep asas: kedudukan dan sifat saiz elemen: dalam CSS, melalui t

    See all articles