在 JavaScript 中,刪除相同事件處理程序定義中的事件監聽器可能會帶來挑戰。要解決此問題,請考慮以下策略:
一種方法涉及使用命名函數:
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);
或者,您可以使用間接事件處理來關閉點擊計數器模式:
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);
如果您需要每個元素都有自己的計數器,可以使用函數生成器:
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));
以上是如何安全地刪除自己的處理程序中的 JavaScript 事件偵聽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!