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