Dalam JavaScript, mengalih keluar pendengar acara dalam definisi pengendali acara yang sama boleh menimbulkan cabaran. Untuk menangani perkara ini, pertimbangkan strategi berikut:
Satu pendekatan melibatkan penggunaan fungsi bernama:
var click_count = 0; function myClick(event) { click_count++; if (click_count == 50) { // to remove canvas.removeEventListener('click', myClick); } } // to add canvas.addEventListener('click', myClick);
Sebagai alternatif, anda boleh menutup melalui kaunter klik menggunakan pengendalian acara tidak langsung corak:
var myClick = (function (click_count) { var handler = function (event) { click_count++; if (click_count == 50) { // to remove canvas.removeEventListener('click', handler); } }; return handler; })(0); // to add canvas.addEventListener('click', myClick);
Jika anda memerlukan setiap elemen untuk mempunyai pembilangnya sendiri, anda boleh menggunakan penjana fungsi:
var myClick = function (click_count) { var handler = function (event) { click_count++; if (click_count == 50) { // to remove canvas.removeEventListener('click', handler); } }; return handler; }; // to add canvas.addEventListener('click', myClick(0));
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pendengar Acara JavaScript Dengan Selamat Di Dalam Pengendali Mereka Sendiri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!