Rumah > hujung hadapan web > tutorial js > Adakah Terdapat Cara untuk Mengalih keluar Pendengar Acara Tanpa Nama dalam JavaScript Tanpa Menggantikan Elemen?

Adakah Terdapat Cara untuk Mengalih keluar Pendengar Acara Tanpa Nama dalam JavaScript Tanpa Menggantikan Elemen?

Barbara Streisand
Lepaskan: 2024-10-18 16:47:03
asal
889 orang telah melayarinya

Is There a Way to Remove Anonymous Event Listeners in JavaScript Without Replacing the Element?

Mengalih keluar Pendengar Acara Tanpa Nama

Dalam JavaScript, pendengar acara sering ditambahkan pada elemen DOM menggunakan fungsi tanpa nama. Walau bagaimanapun, mengalih keluar pendengar acara ini tanpa menggantikan elemen boleh menjadi mencabar.

Soalan

Adakah terdapat cara untuk mengalih keluar pendengar acara yang ditambahkan seperti ini:

element.addEventListener(event, function(){/* do work here */}, false);
Salin selepas log masuk

...tanpa menggantikan elemen?

Jawapan

Malangnya, tidak mungkin untuk mengalih keluar pendengar acara tanpa nama secara bersih melainkan anda menyimpan rujukan kepadanya pada masa penciptaan.

Penyelesaian

Satu pendekatan ialah menambah pendengar acara pada objek tertentu, bukannya elemen itu sendiri. Sebagai contoh, anda boleh mempunyai objek "MyListener" yang mengurus semua pendengar acara anda. Kemudian, apabila anda tidak lagi memerlukan pendengar acara, anda boleh mengalih keluarnya daripada objek "MyListener".

Berikut ialah contoh:

// Create a "MyListener" object
var myListener = {
  events: []
};

// Add an event listener to the "MyListener" object
myListener.add("click", function(){/* do work here */}, false);

// Remove the event listener from the "MyListener" object
myListener.remove("click");
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah Terdapat Cara untuk Mengalih keluar Pendengar Acara Tanpa Nama dalam JavaScript Tanpa Menggantikan Elemen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan