Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengalih Keluar Pendengar Acara Ditambah dengan `bind()` dalam JavaScript?

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

DDD
DDDasal
2024-10-25 13:07:30369semak imbas

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>

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>

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!

Kenyataan:
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