Bagaimana untuk Menyahdaftarkan Pendengar Acara Tanpa Nama dalam JavaScript?

DDD
Lepaskan: 2024-10-18 16:45:30
asal
733 orang telah melayarinya

How to Unregister Anonymous Event Listeners in JavaScript?

Nyahdaftarkan Pendengar Acara Tanpa Nama

Apabila melampirkan pendengar acara dalam JavaScript menggunakan kaedah addEventListener dengan fungsi tanpa nama, mungkin terdapat keperluan untuk mengalih keluar pendengar itu nanti. Walau bagaimanapun, ia tidak serta-merta jelas bagaimana untuk melakukan ini tanpa perlu menggantikan elemen itu sendiri.

Pendekatan:

Malangnya, tiada cara mudah untuk mengalih keluar acara tanpa nama pendengar apabila ia dilampirkan. Ini kerana fungsi tanpa nama tidak mempunyai rujukan yang boleh digunakan untuk dialih keluar.

Penyelesaian:

Penyelesaian praktikal ialah menyimpan rujukan kepada pengendali acara di masa penciptaan. Ini boleh dicapai dengan memberikan fungsi tanpa nama kepada pembolehubah atau harta objek yang berkaitan. Contohnya:

<code class="javascript">const myElement = document.querySelector('.my-element');

// Store a reference to the event handler
const myEventHandler = function () { /* do work here */ };

// Attach the event listener
myElement.addEventListener('click', myEventHandler, false);</code>
Salin selepas log masuk

Alih Keluar:

Setelah pengendali acara tidak diperlukan lagi, anda boleh mengalih keluarnya dengan menggunakan kaedah removeEventListener dan menghantar rujukan yang disimpan:

<code class="javascript">myElement.removeEventListener('click', myEventHandler);</code>
Salin selepas log masuk

Dengan mengikuti pendekatan ini, anda boleh menyahdaftarkan pendengar acara tanpa nama dengan berkesan tanpa perlu menggantikan elemen atau menggunakan penyelesaian yang kurang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menyahdaftarkan Pendengar Acara Tanpa Nama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!