Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengalih keluar Pendengar Acara Tanpa Nama Tanpa Menggantikan Elemen?

Bagaimana untuk mengalih keluar Pendengar Acara Tanpa Nama Tanpa Menggantikan Elemen?

Patricia Arquette
Patricia Arquetteasal
2024-10-18 16:44:29844semak imbas

How to Remove Anonymous Event Listeners Without Replacing Elements?

Mengalih keluar Pendengar Acara Tanpa Penggantian Elemen

Dalam JavaScript, pendengar acara tanpa nama yang ditambahkan menggunakan kaedah addEventListener tidak boleh dialih keluar terus tanpa pengetahuan tentang asal rujukan fungsi.

Menetapkan kepada Pembolehubah:

Satu penyelesaian adalah untuk menetapkan fungsi tanpa nama kepada pembolehubah sebelum menambahkannya pada pendengar acara:

<code class="js">const myEventHandler = function() {
  // Your code here
};

element.addEventListener(event, myEventHandler, false);</code>

Anda kemudian boleh mengalih keluar pendengar acara dengan mengalih keluar rujukan kepada pembolehubah:

<code class="js">element.removeEventListener(event, myEventHandler);</code>

Menyimpan dalam Objek:

Pendekatan lain ialah menyimpan pengendali acara tanpa nama dalam objek dalam objek utama:

<code class="js">mainObject.eventHandlers = {
  [event]: function() {
    // Your code here
  }
};

element.addEventListener(event, mainObject.eventHandlers[event], false);</code>

Anda boleh mengalih keluar pendengar acara dengan mengulangi objek dan mengalih keluar sifat yang sesuai:

<code class="js">for (const event in mainObject.eventHandlers) {
  element.removeEventListener(event, mainObject.eventHandlers[event]);
}</code>

Nota : Adalah penting untuk diingat bahawa mengalih keluar pengendali acara hanya menghalang mereka daripada dicetuskan pada masa hadapan. Sebarang peristiwa yang telah berlaku masih akan melaksanakan pengendalinya.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Pendengar Acara Tanpa Nama Tanpa Menggantikan Elemen?. 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