Kesan asal Kesan selepas menyeret Kodnya adalah seperti berikut Salin kodKod tersebut adalah seperti berikut: [kod] <br>#div1, #div2<br>{float:left ; lebar: 100px; tinggi:35px; jidar:10px;padding:10px;border:1px pepejal >fungsi allowDrop (ev)<br>{<br>ev.preventDefault();<br>}<br>function drag(ev)<br>{<br>ev.dataTransfer.setData("Text",ev. target.id );<br>}<br>function drop(ev)<br>{<br>ev.preventDefault();<br>var data=ev.dataTransfer.getData("Text");<br> ev.target .appendChild(document.getElementById(data));<br>}<br></script><br></head><br><body><br><img src=" /i/ w3school_logo_black.gif" draggable="true" ondragstart="drag(event)" id="drag1" /><br><div id="div1" ondrop="drop(event)" ondragover=" allowDrop(event )"><br> </div><br><div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div><br>< ;/body><br></html><br><br><br>[/code]<br>Ia mungkin kelihatan agak rumit, tetapi kita boleh mengkaji bahagian seret dan lepas yang berbeza acara secara berasingan. </div> <br><br>Tetapkan elemen sebagai boleh seret<p> <strong>Pertama sekali, untuk menjadikan elemen boleh seret, tetapkan atribut boleh seret kepada benar: </strong></p> <p><br><br></p> <div class="msgheader">Salin kod <div class="right"><span style="CURSOR: pointer" onclick="copycode(getid('phpcode122'));"><u> Kodnya adalah seperti berikut :</u></span></div><img draggable="true" /></div> <div class="msgborder" id="phpcode122"> <br> <br> </div>Apa yang hendak diseret - ondragstart dan setData()<p> <strong>Kemudian, nyatakan perkara yang berlaku apabila elemen itu diseret. </strong> </p>Dalam contoh di atas, atribut ondragstart memanggil fungsi, seret(<p>peristiwa</p>), yang menentukan data untuk diseret. <p> Kaedah <em>dataTransfer.setData() menetapkan jenis data dan nilai data yang diseret: </em></p> <p><br><br></p> <div class="msgheader">Salin kod<div class="right"><span style="CURSOR: pointer" onclick="copycode(getid('phpcode123'));"><u> kod adalah seperti berikut :</u></span></div>function drag(ev)</div>{<div class="msgborder" id="phpcode123">ev.dataTransfer.setData("Teks",ev.target.id);<br>}<br> <br><br>Dalam contoh ini, jenis data ialah "Teks" dan nilainya ialah id unsur boleh seret ("seret1"). <br> Di mana hendak diletakkan </div> <br> - ondragover<p> <strong>Acara ondragover menentukan tempat untuk meletakkan data yang diseret. </strong> </p>Secara lalai, data/elemen tidak boleh diletakkan di dalam elemen lain. Jika kita perlu membenarkan peletakan, kita mesti menghalang pengendalian lalai bagi elemen tersebut. <p> </p>Ini dilakukan dengan memanggil kaedah <p>event</p>.preventDefault() acara ondragover: <p><em></em><br><br></p> <div class="msgheader">Salin kod<div class="right"><span style="CURSOR: pointer" onclick="copycode(getid('phpcode124'));"><u>Kodnya adalah seperti berikut:</u></span></div>event.preventDefault()</div> <div class="msgborder" id="phpcode124"> <br> <br> </div> ke tempat - hantar<p> <strong>Apabila data yang diseret digugurkan, peristiwa pengguguran akan berlaku. </strong> </p>Dalam contoh di atas, atribut ondrop memanggil fungsi, drop(<p>event</p>): <p><em></em><br><br></p> <div class="msgheader">Salin kod<div class="right"> <span style="CURSOR: pointer" onclick="copycode(getid('phpcode125'));"><u>Kodnya adalah seperti berikut:</u></span> </div>fungsi drop(ev) </div>{ <div class="msgborder" id="phpcode125">ev.preventDefault(); "Teks "); <br>ev.target.appendChild(document.getElementById(data)); <br><br> Penerangan kod: <br><br> <br>Panggil preventDefault() untuk mengelakkan pemprosesan lalai data penyemak imbas (tingkah laku lalai acara drop ialah membukanya sebagai pautan) dan dapatkan data yang diseret melalui kaedah dataTransfer.getData("Teks"). Kaedah ini akan mengembalikan sebarang set data kepada jenis yang sama dalam kaedah setData(). Data yang diseret ialah id elemen yang diseret ("seret1"). Tambahkan elemen yang diseret ke elemen yang diletakkan (elemen sasaran) <br> </div>