Muundo wa Usafirishaji wa Kifungu cha HTML5

Tafakari ya kuondoa picha ya CodeW3C.com kwenye eneo la dare la kifungu.

Kusikitisha

Kusikitisha (Drag and Drop) inaonekana kwa sababu ya kusikitisha.

Kusikitisha ni kimsingi wa standardi ya HTML5: element kila yake kinaweza kusikitisha.

Kampuni za kusikitisha

Inaniliza namba za kwenye tabia inayotumika kwa sababu ya kusikitisha kwenye programu kwa sababu ya kuzalisha kwa sababu ya kusikitisha.

API
Kusikitisha 4.0 9.0 3.5 6.0 12.0

Mifano ya HTML kwenye kusikitisha

Hapa ni mifano kwenye kusikitisha:

Mifano

<!DOCTYPE HTML>
<html>
<head>
<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>
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">
</body>
</html>

Jifunze kwa kufanya kwa kina

Inafikia kwa kuchanganyika, lakini tukijifunza matokeo yaliyochukuliwa kwenye matukio ya kusikitisha.

Kumekadiri kizingo kwa kusikitisha

Kwanza: Ili kumekadiri kizingo kwa kusikitisha, tukikurusha sababu draggable kwa true:

<img draggable="true">

Muundo wa kusikitisha - ondragstart na setData()

Kisha, kumekadiri matokeo yaliyotokea kwa kuingia kwenye kizingo hiki kwenye kusikitisha.

Kwenye mivuno hivi, ondragstart hauonekani kuingia kwenye programu drag(event) kumekadiri data inayotumika kwenye kusikitisha.

dataTransfer.setData() method ikitumia aina ya data na thamani ya data inayotafutikia inayotumia data inayotafutikia:

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

Kwa mbinu hii, aina ya data ni "text", na thamani ni id ya kizingo hii inayotafutikia ("drag1").

Kutumia eneo - ondragover

Tukio lile ondragover linaamua eneo ambao data ya kudhakia inaweza kushika kwenye.

Kwa kawaida, data/kitu haliwezi kushika kwenye kitu kingine. Kusikitisha kusikitisha kwa sababu ya kusikitisha, inafikia kwa kusikitisha kwa sababu ya kusikitisha.

Kazi hiyo inafanyika na methodi ya event.preventDefault() ya tukio lile ondragover:

event.preventDefault()

Kumaliza kushika - ondrop

Kwa kushika data ya kudhakia, tukio lile drop linaenea.

Kwenye mafanikio hayo, ondrop kina tukio lile kusoma kwa sababu ya programu, drop(event):

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    ev.target.appendChild(document.getElementById(data));
}

Muonekesho wa Kode:

  • Tumia preventDefault() kusikitisha matumizi ya kawaida ya kifungu cha mabasi (kwa sababu ya kushika data kwa sababu ya tukio lile drop inaona kushuka kama vituo vya linganisha)
  • Kupata data ya kudhakia kwa sababu ya methodi ya dataTransfer.getData() ya kwa sababu ya kwamba hii inatokana na data iliyotumika katika methodi ya setData(). Hii inatokana na data inayotumika katika methodi ya setData() ya pamoja.
  • Data ya kudhakia ni id ya kina inayotumika ("drag1")
  • Kuongeza kina kwenye kina kwa kudhakia

Mafanikio ya Kina

Kudhakia picha

Jinsi ya kudhakia picha kati ya kifungu <div> mbili:

Tafakari ya kuondoa picha ya CodeW3C.com kwenye eneo la dare la kifungu.

Jifunze kwa kufanya kwa kina