Bagaimana untuk Mengalih Keluar Pendengar Acara Ditambah dengan `bind()` dalam JavaScript?

DDD
Lepaskan: 2024-10-25 13:07:30
asal
368 orang telah melayarinya

How to Remove Event Listeners Added with `bind()` in JavaScript?

Mengalih keluar Pendengar Acara Ditambah dengan Bind

Dalam JavaScript, pendengar acara boleh ditambah menggunakan kaedah bind(). Kaedah ini mencipta rujukan fungsi baharu, membenarkan pendengar acara mengekalkan akses kepada konteks yang dikehendaki. Walau bagaimanapun, apabila ia datang untuk mengalih keluar pendengar acara sedemikian, pendekatan standard melibatkan penjejakan secara manual setiap pendengar yang ditambah dengan bind().

Rujukan Pendengar Ikatan Penjejakan

Satu kaedah untuk mengalih keluar pendengar acara yang ditambah dengan bind() adalah untuk menjejaki rujukan fungsi. Ini memerlukan mengekalkan pembolehubah untuk menyimpan fungsi terikat dan menghantarnya secara eksplisit apabila mengalih keluar pendengar.

<code class="js">// Store the bound function reference
var clickListenerBind = this.clickListener.bind(this);

// Add the event listener with the bound reference
this.myButton.addEventListener("click", clickListenerBind);

// Remove the event listener using the stored reference
this.myButton.removeEventListener("click", clickListenerBind);</code>
Salin selepas log masuk

Pendekatan Lebih Mudah

Alternatif yang lebih ringkas dan mudah untuk secara manual menjejak rujukan pendengar melibatkan memberikan rujukan fungsi terikat kepada pembolehubah secara langsung. Ini membolehkan pendengar dialih keluar dengan cara yang sama seperti mana-mana pendengar acara lain.

<code class="js">const listener = this.clickListener.bind(this);

this.myButton.addEventListener("click", listener);

this.myButton.removeEventListener("click", listener);</code>
Salin selepas log masuk

Pendekatan ini menghapuskan keperluan untuk pembolehubah penjejakan tambahan dan memastikan pengalihan keluar pendengar acara yang konsisten, tanpa mengira cara ia ditambahkan pada mulanya.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih Keluar Pendengar Acara Ditambah dengan `bind()` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!