2 回答
TA贡献1825条经验 获得超6个赞
“使用不标识 EventTarget 上当前注册的任何 EventListener 的参数调用 removeEventListener() 没有任何效果。”
每次调用 customFunctions 时,您都会定义新版本的卡函数,因此您无法将其与元素分离,因为它与您附加的函数不同。
function cardFunction() {
// some code
// inner[0].style......
}
function customFunction(x) {
var cardClick = document.getElementsByClassName("card");
var inner = document.getElementsByClassName("card-inner");
if (x.matches) {
cardClick[0].addEventListener("click", cardFunction);
} else {
cardClick[0].removeEventListener("click", cardFunction);
}
}
var x = window.matchMedia("(max-width: 400px)");
customFunction(x);
x.addListener(customFunction);
javascript
TA贡献1773条经验 获得超3个赞
x.removeListener(customFunction)
检查此处的示例:https ://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/removeListener
添加回答
举报