[英]Removing event listeners with anonymous function calls in JavaScript
[英]Removing Event Listeners Inside of a Function
我有兩個投票按鈕(是/否),每個按鈕都有一個事件監聽器。 如果他們單擊否,我想刪除是。 但是 voteNo function 中的 removeEventListener 似乎沒有刪除 voteYes 監聽器。
知道我做錯了什么嗎? 提前致謝!
document.getElementById("voteButtonYesID").style.display = "inline";
document.getElementById("voteButtonNoID").style.display = "inline";
// listen for the no click
document.getElementById('voteButtonNoID').addEventListener('click', (e) => voteNo(e, direction),{once: true});
// listen for the yes click
document.getElementById('voteButtonYesID').addEventListener('click', (e) => voteYes(e, direction),{once: true});
function voteNo(e, direction) {
e.preventDefault();
// clear the voting buttons
document.getElementById("voteMessageID").style.display = "none";
document.getElementById("voteButtonYesID").style.display = "none";
document.getElementById("voteButtonNoID").style.display = "none";
document.getElementById('voteButtonNoID').removeEventListener('click', voteNo);
document.getElementById('voteButtonYesID').removeEventListener('click', voteYes);
您從未將voteNo
分配為事件偵聽器,您分配了匿名 function (e) => voteNo(e, direction)
您必須先聲明此 function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.