Sürükle / Bırak (Drag & Drop)
Bu derste HTML5 ile gelen sürükle-bırak (Drag & Drop) API’sinin nasıl çalıştığı ve basit bir sürükle-bırak uygulamasının nasıl oluşturulduğu anlatılmaktadır. HTML, CSS ve JavaScript birlikte kullanılarak etkileşimli sürükleme deneyimi örneklerle açıklanır.
Sürükle / Bırak (Drag & Drop) Nedir?
Sürükle / bırak, kullanıcıların fare ile bir nesneyi seçip bir başka hedefe taşımasını sağlayan etkileşimli bir tekniktir. HTML5 ile birlikte bu işlem tarayıcı içinde standart şekilde desteklenir ve JavaScript olaylarıyla kontrol edilir.
HTML5 sürükle-bırak API’si, öğelerin draggable özniteliğini ve olay dinleyicilerini kullanarak nesnelerin sürüklenmesini ve bırakılmasını sağlar.
Nasıl Çalışır?
Sürükle / bırak işlemi 3 temel aşamadan oluşur:
-
Sürükleme Başlatma – dragstart
-
Hedefe Gelme – dragover
-
Bırakma – drop
Bu işlemlerde JavaScript olayları tetiklenir ve veri taşınması için dataTransfer nesnesi kullanılır.
Basit HTML Sürükle / Bırak Örneği
Aşağıda bir kutu içine sürüklenebilecek basit bir öğe örneği yer almaktadır.
HTML
Kod Açıklaması
draggable="true"
Bu öznitelik, öğeyi sürüklenebilir hâle getirir.
ondragstart
Sürükleme başladığında çalışır ve taşınacak öğenin ID bilgisini transfer nesnesine kaydeder.
ondragover
Varsayılan olarak bir öğe üzerine sürükleme bırakma izni yoktur. Bunu aktif hale getirmek için event.preventDefault() çağrılır.
ondrop
Sürüklenen öğe hedef alana bırakıldığında çalışır; transfer edilen ID ile öğe hedefe eklenir.
Gelişmiş Sürükle / Bırak Örneği
Birden fazla öğeyi taşımak veya hedef alanı vurgulamak için CSS ve JavaScript ile ek stiller uygulanabilir:
Bu yapı, sürükleme sırasında hedef alanı görsel olarak vurgular.
Sürükle / Bırak Nerelerde Kullanılır?
-
Dosya yükleme alanları
-
Puzzle ve oyun uygulamaları
-
Listelerde öğe yeniden sıralama
-
Yönetim paneli arayüzleri
-
Kullanıcı etkileşimi gerektiren form alanları
HTML5 sürükle-bırak desteği GUI’ler için etkileşimli ve sezgisel öğeler sağlar.
Dikkat Edilmesi Gerekenler
-
Tarayıcı desteği çoğu modern tarayıcıda vardır ancak eski tarayıcılarda sınırlı olabilir.
-
Mobil cihazlarda doğrudan drag & drop desteği daha sınırlı olabilir.
-
Sürükle bırak olaylarını yönetmek için JavaScript bilgisi gereklidir.