Kamis, 11 Juli 2013

Belajar Drag Drop pada HTML5



HTML5 selanjutnya adalah membahas tentang drag and drop. Drag dan drop adalah bagian dari html5 yang standard dan merupakan feature yang biasa digunakan, ketika anda “grab” suatu obyek dan menggesernya ke lokasi yang berbeda. Nah, di html5 semua elemen dapat di drag and drop. Browser yang support drag and drop adalah mozila firefox, internet explorer 9, google chrome dan safari 5.
Berikut ini adalah contoh sederhana dari drag and drop :
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE HTML>

<html>

<head>

<script type="text/javascript">

function allowDrop(ev)

{

ev.preventDefault();

}

  

function drag(ev)

{

ev.dataTransfer.setData("Text",ev.target.id);

}

  

function drop(ev)

{

var data=ev.dataTransfer.getData("Text");

ev.target.appendChild(document.getElementById(data));

ev.preventDefault();

}

</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>

Pada contoh diatas mungkin tampak sedikit rumit, tapi mari kita check ke bagian yang berbeda dari drag and drop event.
Pertama-tama untuk membuat obyek bisa di drag, atur atribut drag menjadi “true”

<img draggable=”true” />

Kemudian, tentukan apa yang harus terjadi ketika elemen diseret. Dalam contoh di atas, atribut ondragstart panggilan fungsi, drag (event), yang menentukan data apa yang akan diseret.

Para dataTransfer.setData () metode menetapkan tipe data dan nilai data diseret:

function drag(ev)
{
ev.dataTransfer.setData(“Text”,ev.target.id);
}

pada kasus ini type datanya adalah “text” dan nilai dari id elemen drag adalah “drag1”
Try This: 4 Langkah Mudah Belajar Cara Membuat Website, Langsung Praktek! KLIK DI SINI!.
Event ondragover menentukan dimana data diseret dapat diletakkan. Secara default, data / unsur tidak dapat dijatuhkan kedalam unsur lainnya. Untuk memungkinkanya, kita harus mencegah penanganan default dari elemen.

Hal ini dilakukan dengan memanggil event.preventDefault () metode untuk acara ondragover:

event.preventDefault()

Ketika data yang di drag, dijatuhkan (drop) terjadi penurunan. Dalam contoh diatas atribut ondrop memanggil sebuah fungsi drop(event) :

function drop(ev)
{
var data=ev.dataTransfer.getData(“Text”);
ev.target.appendChild(document.getElementById(data));
ev.preventDefault();
}

Penjelasannya adalah :
  • Mendapatkan obyek yang di drag / diseret dengan metode dataTransfer.getData(“Text”) Metode ini akan mengembalikan setiap data yang ditetapkan untuk jenis yang sama dalam setData () metode
  • Data yang diseret adalah id dari elemen diseret (“drag1″)
  • Tambahkan elemen diseret ke elemen penurunan
  • Call preventDefault () untuk mencegah penanganan default browser dari data(standar terbuka sebagai link pada drop)
Poskan Komentar