Olaylar (Events)Eklenme Şekilleri

JavaScript için olay nedir? Kullanıcının sayfa üzerinde yaptığı her türlü işlem olaydır.Sayfayı açmak, bir nesnenin üzerine tıklamak, fareyle bir nesnenin üzerine gelmek, bir tuşa basmak, bir değeri değiştirmek.Bunların hepsi bir olaydır.HTML nesneleridir ve küçük harfle veya büyük harfle yazılmalarında sakınca yoktur
Olaylar (Events)Eklenme Şekilleri
Olay (Event) İşleme (Genel bakış)

Olaylar, tarayıcı veya işletim sistemi ortamındaki değişiklikleri bildiren tarayıcı penceresi içinde tetiklenen sinyallerdir. Programcılar , bir olay tetiklendiğinde çalışacak ve web sayfalarının değişikliğe uygun şekilde yanıt vermesini sağlayacak olay işleyici kodu oluşturabilir .

Bu sayfa olaylar ve olay işleyicileriyle nasıl çalışılacağına dair çok kısa bir "hatırlatma" sağlar. Yeni geliştiriciler bunun yerine Introduction to events'ı okumalıdır .

Hangi Etkinlikler (Event) Mevcut?

Olaylar, bunları yayan JavaScript nesnelerinin sayfalarında ve/veya altında belgelenmiştir. Örneğin, tarayıcı penceresinde veya geçerli belgede tetiklenen olayları bulmak için Windowve içindeki olaylar bölümlerine bakın Document.

Animasyon, medya vb. gibi belirli API'ler için hangi JavaScript nesnelerinin olayları tetiklediğini bulmak için Olay referansını kullanabilirsiniz .

Olay İşleyicilerini Kaydetme

İşleyicileri kaydetmek için önerilen iki yaklaşım vardır. Olay işleyicisi kodu, bir olay tetiklendiğinde hedef öğenin karşılık gelen onevent özelliğine atanarak veya işleyiciyi yöntem kullanılarak öğe için bir dinleyici olarak kaydederek çalıştırılabilir . Her iki durumda da işleyici arayüze (veya türetilmiş bir arayüzeaddEventListener() ) uyan bir nesne alacaktır . Temel fark, olay dinleyicisi yöntemleri kullanılarak birden fazla olay işleyicisinin eklenebilmesi (veya kaldırılabilmesi)dir.Event

Uyarı: HTML onevent özniteliklerini kullanarak olay işleyicileri ayarlamak için üçüncü bir yaklaşım önerilmez! İşaretlemeyi şişirir ve daha az okunabilir ve hata ayıklaması daha zor hale getirir. Daha fazla bilgi için bkz. Satır içi olay işleyicileri .

<button onkeyup="FonksiyonAdi()">

   

object.onkeyup = function(){myScript};

   

object.addEventListener("keyup", FonksiyonAdi);

 

object.addEventListener("keyup", function() {

});

 

Onevent Özelliklerini Kullanma

Sözleşmeye göre, olayları tetikleyen JavaScript nesnelerinin karşılık gelen "onevent" özellikleri vardır (olay adına "on" öneki eklenerek adlandırılır). Bu özellikler, olay tetiklendiğinde ilişkili işleyici kodunu çalıştırmak için çağrılır ve ayrıca doğrudan kendi kodunuz tarafından çağrılabilir.

Olay işleyicisi kodunu ayarlamak için onu uygun onevent özelliğine atayabilirsiniz. Bir öğedeki her olay için yalnızca bir olay işleyicisi atanabilir. Gerektiğinde işleyici, aynı özelliğe başka bir işlev atayarak değiştirilebilir.

Aşağıda, özelliği kullanarak olay greet()için basit bir fonksiyonun nasıl ayarlanacağını gösteriyoruz .clickonclick

 

const btn = document.querySelector("button");

function greet(event) {
  console.log("greet:", event);
}

btn.onclick = greet;

 

Olayı temsil eden bir nesnenin olay işleyicisine ilk argüman olarak geçirildiğine dikkat edin. Bu olay nesnesi arayüzü uygular veya arayüzden türetilir Event.

EventTarget.addEventListener

Bir öğeye olay işleyicisi ayarlamanın en esnek yolu, yöntemini kullanmaktır EventTarget.addEventListener. Bu yaklaşım, bir öğeye birden fazla dinleyicinin atanmasına ve gerektiğinde dinleyicilerin kaldırılmasınaEventTarget.removeEventListener (kullanılarak ) olanak tanır.

const btn = document.querySelector("button");

function greet(event) {
  console.log("greet:", event);
}

btn.addEventListener("click", greet);

 

Yöntem ayrıca olayların nasıl yakalanıp kaldırılacağına ilişkin yönleri kontrol etmek için ek argümanlar/seçenekler de alabilir. Daha fazla bilgi referans sayfasında bulunabilir EventTarget.addEventListener.

Bir İptal Sinyali Kullanma

Dikkat çekici bir olay dinleyicisi özelliği, aynı anda birden fazla olay işleyicisini temizlemek için bir iptal sinyali kullanma yeteneğidir.

Bu , birlikte kaldırmak istediğiniz tüm olay işleyicileri için çağrıya aynı şeyi geçirerek yapılır. Daha sonra 'a sahip olan denetleyiciyi çağırabilirsiniz AbortSignalve bu , o sinyalle eklenen tüm olay işleyicilerini kaldıracaktır. Örneğin, şunu kullanarak kaldırabileceğimiz bir olay işleyicisi eklemek için :addEventListener()abort()AbortSignalAbortSignal

const controller = new AbortController();

btn.addEventListener(
  "click",
  (event) => {
    console.log("greet:", event);
  },
  { signal: controller.signal },
); // pass an AbortSignal to this handler

 

  Daha sonra yukarıdaki kodla oluşturulan olay işleyicisi şu şekilde kaldırılabilir:

controller.abort(); // removes any/all event handlers associated with this controller

 

Windows.onload'ı  kullanmak

Kullanmanın bir yolu windows.onload :

window.onload = function() {
        // Code to be executed after the page has loaded
        console.log("Page loaded!");
    };

 

Bu yaklaşımı kullanırken, yeni bir işlev atadığınızda, bunu not etmek önemlidir.windows.onload Yine, bir öncekinin üzerine yazacak. Bu, sadece son atanacak fonksiyonun yürütüleceği anlamına gelir.

Window.adEventListener'ı kullanmak

window.addEventListener("load", function() {
        // Code to be executed after the page has loaded
        console.log("Page loaded!");
    });

Olay tetiklenir, bu da sayfa tamamen yüklendikten sonra gerçekleşir.


Kaynak

 

 

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...