JavaScript'te Olay Yöneticilerinin Temelleri

JavaScript'te Olay Yöneticilerinin Temelleri

JavaScript'te Olay Yöneticilerinin Temelleri eğitimiyle JavaScript'te olayları nasıl yöneteceğinizi öğrenin! Etkinlikler, dinleyiciler, gelen olaylar ve daha fazlası hakkında bilgi edinin Hemen kaydolun ve JavaScript becerilerinizi geliştirin

JavaScript'te Olay Yöneticilerinin Temelleri

JavaScript'te olay yöneticileri, modern web geliştirme sürecinde önemli bir role sahip bir kavramdır. Bu özellik, web uygulamalarının etkileşimli olmasını sağlar ve birçok interaktif web sayfası için temel gereksinimdir. Olay yöneticileri, kullanıcının yapacağı bir eyleme (fare tıklaması, tuşa basma, dosya yükleme vb.) bağlı olarak tetiklenen belirli bir kod bloğudur. Bu sebeple olay yöneticileri, web sayfaları için önemli bir işlevsellik sağlayan ve geliştiricilerin kullanıcılara daha iyi bir deneyim sunmalarına yardımcı olan bir yapıdır.

Olayların nasıl oluştuğu ve işlev gördüğü hakkında bir fikriniz varsa, işleyişini anlamak daha kolaydır. Kullanıcı, fareyi tıkladığında, tarayıcıda belirli bir olay tetiklenir. Bu olaylar, JavaScript kullanarak dinlenebilir ve bir işlem yapılabilir. Bu noktada devreye olay yöneticileri girer ve belirli bir olayın işlemlerini yönetebilir. Bu, öğeleri (etiketler) belirli olaylarla bağlayarak yapılır. Örneğin, bir kullanıcı bir düğmeye tıkladığında, olay yöneticisi bu eylemi belli bir kod bloğuna bağlar ve bu blok çalıştırılır. Bu sayede belirli bir olayın nasıl yönetileceği tamamen geliştiriciye kalmış olur.


Olay Nedir?

JavaScript'te olay, belirli bir aksiyonun gerçekleştiğinde tetiklenen bir olaydır. Bu aksiyonlar kullanıcıların web sayfasında yapabileceği tıklama, klavye girişi veya fare hareketleri gibi etkileşimlerle gerçekleşebilir. Olayların önemi, kullanıcıların web sayfasında etkileşimde bulunmasını kolaylaştırmaktır. Web geliştiricileri, olayları algılamak ve belirli bir aksiyonun gerçekleştiğinde buna tepki vermek için olay yöneticileri kullanır.

Olaylar, web geliştiricilerinin web sayfalarını daha etkileşimli hale getirmelerine yardımcı olduğu için önemlidir. Örneğin, bir kullanıcının bir düğmeye tıklaması, bir formun gönderilmesi veya bir resmin üzerine gelinmesi gibi durumlarda olaylar tetiklenebilir. Bu olaylar, web sayfasında bir değişiklik yapmak, bir açılır pencere açmak, veritabanından veri almak veya kullanıcıya bir mesaj göstermek gibi belirli bir tepki verilebilir.


Olay Yöneticileri Nedir?

Olay yöneticileri, JavaScript'te oldukça önemli bir kavramdır ve web sitelerinde etkileşimli öğelerin oluşturulmasında kullanılır. Olay yöneticileri, DOM (Belge Nesne Modeli) üzerinde gerçekleşen herhangi bir olayı dinleyen ve buna tepki gösteren fonksiyonlardır. Örneğin, bir buton tıklandığında, olay yöneticisi butonun tıklanması olayını algılar ve belirlenmiş görevi yerine getirir.

Olay yöneticisi, belirli bir olayın başlatılması için "addEventListener" metodu kullanılarak belirlenen öğeye eklenir. Bu yöntemi kullanarak, birden çok olay yöneticisini bir öğeye ekleyebilirsiniz. Olay yöneticilerinin kullanımı, kullanıcının web sayfası deneyimini önemli ölçüde artırabilir ve web sitesinde etkileşimli özelliklerin oluşturulmasını kolaylaştırır.

Olay yöneticileri, web sayfalarında interaktif öğelerin kontrolünü sağlamak için kullanılır. Örneğin, form kontrollerinde kullanılabilecek bir olay yöneticisi, formun doğru bir şekilde doldurulup doldurulmadığını kontrol edebilir ve sonuçları işleyebilir. Ayrıca, olay yöneticileri Ajax işlemlerinin gerçekleştirilmesinde de kullanılabilirler.

Olay yöneticilerinin kullanımı oldukça kolaydır ve JavaScript kodunun daha okunaklı, modüler ve yeniden kullanılabilir olmasını sağlar. Özetle, olay yöneticileri, JavaScript'te oldukça önemli bir kavramdır ve web sayfalarını daha etkileşimli ve kullanıcı dostu hale getirir.


onClick ve diğer Olay Yöneticileri

Etkileşimli web sayfaları oluştururken, kullanıcıların sayfa ile etkileşime geçmesini sağlamak için HTML olay yöneticileri kullanmak oldukça yararlıdır. Özellikle, onClick gibi olay yöneticileri tıklama, fareyle üzerine gelme, klavye tuşuna basma ve daha birçok etkileşim için kullanılabilir.

Örneğin, bir butona tıklandığında yeni bir sayfaya yönlendirilmesi gerekiyorsa, onClick olay yöneticisi kullanılabilir. Aynı şekilde, bir resmin üzerine geldiğinde o resmin boyutunu değiştirmek için onMouseOver kullanılabilir.

Olay Yöneticisi Açıklama
onClick Bir öğeye tıklandığında çalışır.
onMouseOver Bir öğenin üzerine gelindiğinde çalışır.
onSubmit Bir form gönderildiğinde çalışır.

Ayrıca, bir öğeye birden fazla olay yöneticisi atayabilirsiniz. Bu, her olayın farklı bir işlevi veya davranışı tetiklemek için kullanılabilir. AddeventListener yöntemi, birden çok olay yöneticisi eklemek için kullanılır.

  • Örnek kod:
  •     document.getElementById("myButton").addEventListener("click", myFunction);  document.getElementById("myButton").addEventListener("mouseover", myFunction2);    
  • Yukarıdaki örnekte, myFunction butona tıklandığında, myFunction2 ise butonun üzerine gelindiğinde çalışır.

Tüm bu kullanım örnekleri sayesinde, olay yöneticileri web sayfalarınızı daha interaktif hale getirmek için mükemmel bir araçtır.


addEventListener

JavaScript'te olaylar, kullanıcının bir web sayfasındaki etkileşimleri için belirli bir mekanizmadır. JavaScript, HTML öğelerine eklenen farklı olayların tetiklenmesine olanak sağlar, örneğin onclick, onsubmit, vb.

addEventListener() yöntemi, bir olaya bir öğeye birden fazla olay yöneticisi eklemek için kullanılır. Daha önceki örnekte, onClick() yöntemi kullanılarak yalnızca bir tıklama işlemi için bir olay yöneticisi eklenirken, addEventListener() yöntemi ile bir öğeye birden fazla tıklama olayı eklenebilir.

addEventListener() yöntemi, üç parametre alır: olay adı, işlev, ve capture adı verilen bir seçenek.

EventTarget.addEventListener('tıklama', fonksiyon() { alert('Merhaba Dünya!');});

Bu örnekte, bir işlev, olayın tetiklenmesini şekillendirmeye yardımcı olmak için bir nesne kullanılarak eklenir. Böylece, tıklamalar için birden fazla işlev tanımlama mümkündür.

Tabii, bunu da kaldırabilirsiniz:

function benimFonksiyon() { alert('Merhaba Dünya!');}var buton = document.getElementById("buton");buton.addEventListener("click", benimFonksiyon);buton.addEventListener("click", function() { alert('Tekrar merhaba Dünya!'); });buton.removeEventListener("click",benimFonksiyon);

Yukarıdaki örnekte, "benimFonksiyon" adlı bir fonksiyon tanımlanır ve daha sonra buton öğesine bir olay eklemek için addEventListener() yöntemi kullanılır. Ardından, butona tıklandığında ilk olarak “benimFonksiyon” fonksiyonu çalıştırılır ve ardından alert metodu ile "Tekrar merhaba Dünya" mesajı görüntülenir.

addEventListener() yöntemi, birden fazla olay yöneticisi eklemek istediğiniz öğeler için kullanışlıdır. Bu, her olayda farklı bir işlevi çalıştırarak çok yönlü işlemler gerçekleştirilmesine olanak tanır.


Olay Yöneticileri Nasıl Yazılır?

JavaScript'te olay yöneticileri, belirli bir olayın gerçekleştiğinde çağrılan bir JavaScript işlevidir. Bu işlev, kullanıcının sayfa üzerinde yaptığı bir etkileşim sonucunda tetiklenebilen onClick, onFocus, onSubmit gibi olaylar hakkında bilgi sahibi olur ve belirli bir işlem gerçekleştirir.

Olay yöneticisi yazmak için, işlevi oluşturmalı ve hedef olaya bağlamalısınız. Herhangi bir HTML elementi üzerinde olayını yakalamak istediğinizde, ilgili elementi seçtiğinizden emin olmalısınız. Elementi seçtikten sonra, addEventListener kullanarak olayı elemente bağlayabilirsiniz.

Örneğin, bir butonun onClick olayı ile bir fonksiyon çağırmak için aşağıdaki kodu kullanabilirsiniz:

```

```

Burada, butona tıklandığında "Hello World!" ifadesi alert olarak görüntülenecektir. Ayrıca, onClick gibi inline event handlers da kullanılabilir, ancak bu yöntem sadece temel kullanımlar için uygundur ve birden çok event handler kullanımı da zordur.

Olay yöneticileri yazarken dikkat edilmesi gereken birkaç önemli nokta vardır. Örneğin, büyük/küçük harf farklılıklarına dikkat edilmelidir. Ayrıca, olay isimleri de doğru bir şekilde yazılmalıdır. Yine, birden fazla event handler kullanmak istediğinizde, bunların doğru bir şekilde yönetilmesi için özel bir kod yazmanız gerekebilir.

Sonuç olarak, olay yöneticileri JavaScript'te önemli bir kavramdır ve web sayfalarının etkileşimli olmasını sağlar. Olay yöneticisi yazmak için, ilgili elementi seçmeli ve addEventListener yöntemini kullanarak ilgili olayı bağlamalısınız. Bu yöntem sayesinde web sitenizi daha etkileşimli ve ilgi çekici hale getirmeniz mümkündür.


Inline Event Handlers vs. External Event Handlers

Web sayfalarının geliştirilmesinde sıklıkla kullanılan JavaScript, etkileşimli ve dinamik bir arayüz sağlamak için olaylar kullanır. Olaylar, kullanıcının bir web sayfasındaki etkileşimleriyle tetiklenen aksiyonlardır. Örneğin, bir butona tıklanması, bir formun gönderilmesi, bir resmin yüklenmesi gibi.

Olay yöneticileri, bu olayların işlenmesi, yürütülmesi ve kontrol edilmesi için kullanılır. Olay yöneticileri, hem inline event handlerlar hem de external event handlerlar olarak adlandırılabilen iki yöntemle tanımlanır.

Inline event handlerlar, HTML kodunun içinde doğrudan tanımlanan JavaScript kodlarıdır. Bu yöntemle tanımlanan olaylar, o kaynağa özeldir ve yeniden kullanılabilir değildir. Bu nedenle, bu yöntem genellikle küçük web sayfaları için kullanılır. Ancak, büyük web sayfaları için daha iyi bir yöntem olan external event handlerlar kullanmak daha mantıklıdır.

External event handlerlar, JavaScript kodunun ayrı bir dosyada tanımlandığı, daha büyük web siteleri için idealdir. Bu yöntem sayesinde, olaylar ayrı JavaScript dosyalarında tanımlanabilir ve birden çok web sayfasında yeniden kullanılabilir. Ayrıca, bu yöntem sayesinde JavaScript kodu daha düzenli hale gelir ve web sayfanın performansını etkilemez.

Özetle, inline event handlerlar küçük web sayfaları veya test amaçlı kullanılabilirken, büyük web sayfaları için external event handlerlar daha etkili bir yöntemdir.


Olay Yöneticileri ile İlgili Yararlı İpuçları

Olay yöneticileri, web sitesi ve uygulamalarında etkileşimli öğelerin oluşturulmasında kullanılan önemli bir teknik. Ancak, doğru kullanılmadığında, performans sorunlarına, hatalara ve hatta kullanıcılarınızın deneyimini olumsuz yönde etkileyebilecek güvenlik açıklarına neden olabilirler. İşte olay yöneticilerinin daha etkili bir şekilde kullanımına yönelik bazı ipuçları:

Bölüm 508, federal hükümetin web sitesi ve uygulamalarının engelli kullanıcılar için erişilebilir ve kullanılabilir olmasını şart koşan yasal bir standarttır. Bu standartlar, web sayfalarındaki olay yöneticilerinin kullanımını da kapsar. Bu nedenle, olay yöneticilerinin engelli kullanıcılar için daha erişilebilir hale getirilmesi için bazı ipuçları:

  • Olayların ne zaman tetiklendiğini açıklayan açıklamalar eklenebilir.
  • Olaylara klavye kısayolları eklenebilir.
  • Daha iyi erişilebilirlik için, mouse-hover event'leri yerine onClick event'leri kullanılabilir.
  • Olayların işlevleri, engelli kullanıcılar için daha kolay anlaşılabilir bir şekilde görsel öğelere bağlanabilir.

setInterval ve clearInterval, periyodik olayları oluşturmak için kullanılan iki olay yöneticisidir. Ancak, bu olay yöneticileri, sitenizin performansını olumsuz yönde etkileyebilir. Bu nedenle, sitenizde birden çok periyodik görev kullanacağınız zaman şunları hatırlamanız gerekiyor:

  • setInterval ile birden çok görevi eşzamanlı çalıştırdığınızda, sayfa performansı düşebilir.
  • Gereksiz periyodik görevlerden kaçınmak için, periyodik görevlerin yalnızca gerekli durumlarda kullanılması tavsiye edilir.
  • setInterval kullanarak sık sık veri alımı yapmak, sunucunun performansını olumsuz yönde etkileyebilir. Bu nedenle, özellikle mobil cihazlar için, periyodik görevlerin aralıklarını ayarlamak gerekebilir.

Olay yöneticilerinin doğru şekilde kullanılması, web siteleri ve uygulamaları için büyük bir avantaj sağlayabilir. Ancak, hatalı kullanılmaları olumsuz sonuçlar doğurabilir. Bu nedenle, olay yöneticilerinin kullanımını öğrenmek, en iyi uygulama yöntemlerini takip etmek ve engelli kullanıcıların ihtiyaçlarına yönelik olarak etkileşimli öğeleri optimize etmek, başarılı bir web geliştirme stratejisi için temel bir adımdır.


Bölüm 508 Erişilebilirlik Standartları

Bölüm 508, ABD federal hükümet binalarının, web sitelerinin ve diğer elektronik ve bilgi teknolojilerinin engelli bireyler tarafından erişilebilirliğini sağlayan bir düzenlemedir. Bu yönetmelik, engelli bireylerin federal hükümet tarafından sunulan bilgilere tam erişime sahip olmasını sağlar. Engellilerin web sayfalarındaki olay yöneticilerinden yararlanmasını sağlamak, Bölüm 508 erişilebilirlik standartlarının bir parçasıdır.

Engelliler, çoğu zaman standart bir fareyi veya klavyeyi kullanamazlar. Bu nedenle, web sayfalarındaki olay yöneticileri, engellilerin erişimini sağlamak için tasarlanmalıdır. Örneğin, onClick olay yöneticisi, kullanıcı fareyle tıkladığında veya enter tuşuna bastığında çalışır. Ancak, klavye kullanamayan engelliler bu seçeneği kullanamaz. Bu nedenle, onMouseDown olay yöneticisi kullanıcı farenin sol tuşuna bastığında çalışır, ancak klavye kısayolları da kullanılabildiğinden erişilebilirlik sağlar.

Bunun yanı sıra, olay yöneticilerinin sağladığı bilgi, engelliler tarafından kolayca erişilebilir hale getirilmelidir. Bu nedenle, semantik HTML etiketleri ve eklenecek meta etiketler, web sayfasının erişilebilirliği için önemlidir. Tables

ve listeler
    , erişilebilirlik için önerilen yöntemlerdendir ve doğru bir şekilde kullanıldığında engellilere fayda sağlar.

    Bölüm 508 erişilebilirlik standartlarına uygun bir web sayfası, engellilerin daha kolay erişebilmesine yardımcı olacaktır. Doğru olay yöneticileri kullanımı ve uygun HTML yapısı ile birlikte, bu standartlar web sitesinin özelliklerinin, tüm ziyaretçiler için kullanılabilir hale getirilmesine olanak tanır.


    Periyodik Görevler

    Olay yöneticileri, periyodik olayları yürütmek için de kullanılabilir. Bunun için genellikle setInterval() yöntemi kullanılır. Bu yöntem, belirli aralıklarla kodu işlemeye devam eder.

    Örneğin, belirli bir sürede bir div elementinin rengini değiştirmek istediğinizi varsayalım. Bunun için aşağıdaki kod bloğunu kullanabilirsiniz:

Kod Açıklama
function renkDegis() {  var element = document.getElementById("div");  if (element.style.backgroundColor == "red") {    element.style.backgroundColor = "blue";  } else {    element.style.backgroundColor = "red";  }}setInterval(renkDegis, 1000);
Bu kod, renkDegis() fonksiyonunu 1 saniyede bir çalıştırarak, div elementinin rengini değiştirir.

Bu yöntem, periyodik işlemler için oldukça kullanışlıdır ve sayfada otomatik olarak güncellemeler yapmak veya belirli bir süre içinde belirli işlemleri yürütmek için idealdir.


Olay Yöneticilerinin Ek Kullanım Alanları

JavaScript'teki olay yöneticilerinin etkileyici kullanım alanları sadece önceden bahsedilenlerle sınırlı değil. Olay yöneticileri, form kontrollerinde ve Ajax işlemlerinde de oldukça kullanışlıdır.

Form kontrollerinde olay yöneticileri, kullanıcının formda yapabileceği işlemleri yönetmek için kullanılır. Örneğin, kullanıcının bir butona tıklaması durumunda formun gönderilmesi veya sile düğmesine tıklaması durumunda bir hesaplamayı yürütme işlemi gerçekleştirilmesi gibi durumlar söz konusu olabilir. Bu gibi durumlarda, onClick olay yöneticisi veya addEventListener yöntemi gibi çeşitli olay yöneticileri kullanılabilir.

Olay yöneticileri ayrıca Ajax işlemleri için de kullanılabilir. Ajax, sunucu tarafındaki bilgiyi anında güncelleme işlemi yaparak etkileşimli bir web sayfası oluşturmak için kullanılan bir teknolojidir. Ajax işlemlerinde, olay yöneticileri data gönderme işlemlerini veya başarılı bir yanıt alınması durumunda kullanıcının görebileceği bir mesajı yürütmek için kullanılabilir.

Sonuç olarak, olay yöneticilerinin diğer kullanım alanları, form kontrolleri ve Ajax işlemleriyle sınırlı değildir ancak web geliştiricilerin her bir proje için daha özel ve yaratıcı kullanımlar bulmaları mümkündür.


Form Kontrolleri

Formlar, web sitelerinde en sık kullanılan öğelerden biridir. Bir web formu, belirli bir olaya tepki olarak JavaScript tarafından çalıştırılabilen bir dizi form kontrolünü içerir. Bu nedenle, olay yöneticileri, web formlarında oldukça kullanışlı araçlardır.

HTML formu, öğeleri ve özellikleri ile kodlanır. Olay yöneticileri JavaScript tarafından form kontrolüne eklenir. Bazı örnekleri şunlardır:

Form Kontrolü Olay Yöneticisi
Buton onClick
Text Kutusu OnKeyUp
Checkbox OnChange
Radio Düğmesi OnClick veya OnChange
Dropdown Menüsü OnChange

Form kontrolüne atanan olay yöneticileri, kullanıcının form ile herhangi bir etkileşiminde çalışır. Örneğin, bir butona tıklandığında veya bir metin kutusuna yazıldığında.

Form kontrolü ile ilgili bir numaralandırılmış liste örneği:

  • Bir form kontrolü seçin ve onun için bir olay yöneticisi seçin.
  • Olay yöneticisi fonksiyonunu oluşturun ve form kontrolüne ekleyin.
  • Kullanıcının form ile etkileşimine bağlı olarak, olay yöneticisi işlevi otomatik olarak çalışacaktır.

Olay yöneticileri form kontrolü öğelerine tıklamalar ve veri girişi gibi etkileşimlerde oldukça yararlıdır. Bunlar, form etkinliğinin daha fazla etkililiğini sağlayan farklı olaylar için kullanılabilirler.


Ajax İşlemleri

Ajax, Asynchronous JavaScript and XML, web sayfalarının arka planda çalışan bir işlemi yürütmesine olanak tanıyan bir teknolojidir.

JavaScript'te olay yöneticileri kullanarak Ajax işlemleri daha kolay hale getirilebilir. Bu sayede, web sayfasını yenilemeden arka planda veri alışverişi yapılabilir.

Ajax kullanımını kolaylaştıran bir olay yöneticisi örneği XMLHttpRequest'dir. Bu olay yöneticisi, sunucuyla veri alışverişi yapmayı mümkün kılar.

Bir kullanıcının bir web sayfasında bir form doldurduğunu ve verileri sunucuya göndermek istediğini varsayalım. Bu işlem, sayfa yenilenmeden gerçekleştirilebilir. Bu işlemde, onsubmit olay yöneticisi kullanılır ve form sunucuya gönderilmeden önce sunucudan yanıt bekler. Sunucudan yanıt geldiğinde, sayfa yenilenmeden veriler görüntülenir.

Bunun dışında, jQuery gibi JavaScript kütüphaneleri de Ajax işlemlerini kolaylaştıran olay yöneticileri sunmaktadır. Bu kütüphaneler, geliştiricilerin Ajax işlemlerini daha az kod yazarak gerçekleştirmesine yardımcı olabilir.