Rumah >hujung hadapan web >tutorial js >Bagaimana Mengeluarkan Pendengar Acara JavaScript dengan Berkesan dari Dalam Takrifan Mereka?
Mengalih keluar Pendengar Acara JavaScript dalam Definisi Pendengar
Apabila cuba mengalih keluar pendengar acara dalam definisi pendengarnya, pengguna JavaScript mungkin menghadapi cabaran disebabkan oleh mengikat konteks. Artikel ini menunjukkan pendekatan untuk menyelesaikan isu ini dan mengalih keluar pendengar acara dengan berkesan.
Pendekatan 1: Menggunakan Fungsi Dinamakan
Daripada fungsi tanpa nama, tentukan fungsi bernama dan tetapkan fungsi tersebut kepada pendengar acara. Ini memastikan fungsi itu boleh dirujuk kemudian untuk dialih keluar.
var click_count = 0; function myClick(event) { click_count++; if (click_count == 50) { // Remove the event listener canvas.removeEventListener('click', myClick); } } // Add the event listener canvas.addEventListener('click', myClick);
Pendekatan 2: Penutupan dengan Pembolehubah Kaunter Klik
Penutupan membenarkan fungsi pendengar mengakses pembolehubah yang ditentukan di luar skopnya. Dalam kes ini, masukkan pembolehubah pembilang klik dalam fungsi.
var myClick = (function (click_count) { var handler = function (event) { click_count++; if (click_count == 50) { // Remove the event listener canvas.removeEventListener('click', handler); } }; return handler; })(0); // Add the event listener canvas.addEventListener('click', myClick);
Pendekatan 3: Klik Kaunter sebagai Argumen Fungsi
Jika elemen berbeza memerlukan pembilang klik mereka sendiri , cipta fungsi baharu yang mengambil pembilang klik sebagai hujah.
var myClick = function (click_count) { var handler = function (event) { click_count++; if (click_count == 50) { // Remove the event listener canvas.removeEventListener('click', handler); } }; return handler; }; // Add the event listener canvas.addEventListener('click', myClick(0));
Atas ialah kandungan terperinci Bagaimana Mengeluarkan Pendengar Acara JavaScript dengan Berkesan dari Dalam Takrifan Mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!