2 回答

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
要?jiǎng)h除偵聽器,事件名稱需要相同。你有 keyup 和 keypress。
處理函數(shù)引用也需要相同。為此,您需要一個(gè)命名函數(shù),我從您的 addEventlistener 中使用的匿名函數(shù)創(chuàng)建并調(diào)用它handleKeypress
現(xiàn)在用于添加/刪除的參數(shù)與需要的相同
function closeImgModal() {
imgModal.style.display = "none";
document.body.style.overflowY = "auto";
document.body.removeEventListener('keypress', handleKeypress)
}
function handleKeypress(e) {
console.log(e);
if (e.key === "Escape") {
closeImgModal();
}
}
function openBig(el) {
document.body.style.overflowY = "hidden";
imgModal.style.display = "block";
randomImg.src = el.src;
document.body.addEventListener('keypress', handleKeypress);
}

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
嘗試這個(gè)
function closeImgModal() {
imgModal.style.display = "none";
document.body.style.overflowY = "auto";
document.body.removeEventListener('keypress', closeImgModal)
}
function openBig(el) {
document.body.style.overflowY = "hidden";
imgModal.style.display = "block";
randomImg.src = el.src;
document.body.addEventListener('keypress', function (e) {
console.log(e);
if (e.key === "Escape") {
closeImgModal();
}
});
}
添加回答
舉報(bào)