HTML Eğitimi

HTML ANA SAYFA HTML'ye Giriş HTML Düzenleyiciler HTML Temel HTML Öğeleri HTML Özellikleri HTML Başlıkları HTML Paragrafları HTML Stilleri HTML Biçimlendirme HTML Alıntılar HTML Yorumları HTML Renkleri HTML CSS'si HTML Bağlantıları HTML Görselleri HTML Sık Kullanılan Simgesi HTML Tabloları HTML Listeleri HTML Bloğu ve Satır İçi HTML Sınıfları HTML Kimliği HTML İç Çerçeveleri HTML JavaScript'i HTML Dosya Yolları HTML Başlığı HTML Düzeni HTML Duyarlı HTML Bilgisayar Kodu HTML Semantiği HTML Stil Kılavuzu HTML Varlıkları HTML Sembolleri HTML Emojileri HTML Karakter Seti HTML URL Kodlaması HTML'ye karşı XHTML

HTML Formları

HTML Formları HTML Formu Nitelikleri HTML Form Öğeleri HTML Giriş Türleri HTML Girdi Nitelikleri HTML Giriş Formu Nitelikleri

HTML Grafikleri

HTML Kanvas HTML SVG'si

HTML Ortamı

HTML Ortamı HTML Videosu HTML Ses HTML Eklentileri HTML YouTube

HTML API'leri

HTML Coğrafi Konum HTML Sürükle/Bırak HTML Web Depolama HTML Web Çalışanları HTML ÖAM

HTML Örnekleri

HTML Örnekleri HTML Testi HTML Alıştırmaları HTML Sertifikası HTML Özeti HTML Erişilebilirliği

HTML Referansları

HTML Etiket Listesi HTML Özellikleri HTML Genel Nitelikleri HTML Tarayıcı Desteği HTML Olayları HTML Renkleri HTML Kanvas HTML Ses/Video HTML Doktipleri HTML Karakter Kümeleri HTML URL Kodlaması HTML Dil Kodları HTTP Mesajları HTTP Yöntemleri PX'den EM'ye Dönüştürücü Klavye kısayolları

HTML Sürükle ve Bırak API'si


HTML'de herhangi bir öğe sürüklenip bırakılabilir.


Örnek

W3Okulları

W3Schools görüntüsünü dikdörtgenin içine sürükleyin.


Sürükle ve bırak

Sürükle ve bırak çok yaygın bir özelliktir. Bir nesneyi "yakaladığınız" ve onu farklı bir konuma sürüklediğiniz zamandır.


Tarayıcı Desteği

Tablodaki sayılar, Sürükle ve Bırak özelliğini tam olarak destekleyen ilk tarayıcı sürümünü belirtir.

API
Drag and Drop 4.0 9.0 3.5 6.0 12.0

HTML Sürükle ve Bırak Örneği

Aşağıdaki örnek basit bir sürükle ve bırak örneğidir:

Örnek

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

Karmaşık görünebilir, ancak bir sürükle ve bırak olayının tüm farklı kısımlarını inceleyelim.



Bir Öğeyi Sürüklenebilir Yap

Her şeyden önce: Bir öğeyi sürüklenebilir yapmak için draggableniteliği true olarak ayarlayın:

<img draggable="true">

Ne Sürüklenir - ondragstart ve setData()

Ardından, öğe sürüklendiğinde ne olacağını belirtin.

Yukarıdaki örnekte, ondragstartöznitelik, hangi verilerin sürükleneceğini belirten bir işlevi, sürükle(olay) çağırır.

Yöntem dataTransfer.setData(), veri türünü ve sürüklenen verinin değerini ayarlar:

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

Bu durumda, veri türü "metin"dir ve değer, sürüklenebilir öğenin kimliğidir ("drag1").


Nereye Bırakılır - ondragover

Olay ondragover, sürüklenen verilerin nereye bırakılabileceğini belirtir.

Varsayılan olarak, veriler/öğeler diğer öğelere bırakılamaz. Bir düşüşe izin vermek için, öğenin varsayılan olarak işlenmesini engellemeliyiz.

Bu, event.preventDefault()ondragover olayının yöntemini çağırarak yapılır:

event.preventDefault()

Damlayı Yap - ondrop

Sürüklenen veri bırakıldığında bir bırakma olayı meydana gelir.

Yukarıdaki örnekte, ondrop niteliği bir işlevi çağırır, drop(event):

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

Kod açıkladı:

  • Verilerin tarayıcı tarafından varsayılan olarak işlenmesini önlemek için önlemeDefault() öğesini çağırın (varsayılan, açılırken bağlantı olarak açıktır)
  • Sürüklenen verileri dataTransfer.getData() yöntemiyle alın. Bu yöntem, setData() yönteminde aynı türe ayarlanmış tüm verileri döndürür.
  • Sürüklenen veri, sürüklenen öğenin kimliğidir ("sürükle1")
  • Sürüklenen öğeyi açılan öğeye ekleyin

Daha fazla örnek

Örnek

Bir görüntüyü iki <div> öğesi arasında ileri geri sürükleme (ve bırakma):