Mengalih keluar Pendengar Acara Ditambah dengan Bind()
Apabila bekerja dengan pendengar acara dalam JavaScript, adalah penting untuk mengalih keluarnya apabila tidak diperlukan lagi, terutamanya apabila ia telah ditambah menggunakan kaedah .bind().
.bind() dan Event Listeners
Kaedah .bind() mencipta fungsi baharu yang mempunyai konteks tertentu yang terikat kepadanya. Ini membolehkan fungsi dipanggil di luar konteks di mana ia ditakrifkan pada asalnya. Dalam contoh yang disediakan:
this.myButton.addEventListener("click", this.clickListener.bind(this));
.bind(this) mencipta fungsi baharu yang memastikan kata kunci ini dalam clickListener merujuk kepada contoh MyClass.
Mengalih keluar Pendengar
Untuk melumpuhkan butang dalam contoh ini, kami perlu mengalih keluar pendengar acara. Walau bagaimanapun, memandangkan .bind() mencipta rujukan fungsi baharu, kami tidak boleh mengalih keluar fungsi asal begitu sahaja.
Penyelesaian: Simpan Rujukan Fungsi
Penyelesaian adalah untuk menyimpan rujukan fungsi dikembalikan oleh .bind() dalam pembolehubah sebelum menambahkannya sebagai pendengar acara:
const clickListenerBind = this.clickListener.bind(this); this.myButton.addEventListener("click", clickListenerBind);
Kini, kita boleh mengalih keluar pendengar menggunakan rujukan yang disimpan:
this.myButton.removeEventListener("click", clickListenerBind);
Kaedah Lain
Walaupun kaedah yang diterangkan di atas memastikan pengalihan keluar pendengar yang ditambah dengan .bind(), tiada alternatif pilihan.
Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Pendengar Acara Ditambah dengan Kaedah .bind()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!