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);
...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");
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!