我对包装器内的项目有以下功能。
//vars
for (var i=0; i<divs.length; i++) (function(i) {
divs[i].onclick = function showTheA() {
if (divs[i].offsetHeight == 130) {
divs[i].style.height = '250px';
element1[i].style.display = "flex"; // example
element2[i].style.width = "80%"; //example
}
else {
divs[i].style.height = "";
element1[i].style.display = ""; // example
element2[i].style.width = ""; //example
}
};
})(i);
然后我用另一个元素(例如 abcd)覆盖整个项目,以便它覆盖项目的整个内容,但我想禁用此覆盖层下方元素的 onclick 事件。
元素 abcd (覆盖)具有绝对位置和较高的 z-index,但仍然可以对下面的 div
执行 onclick 事件(更改高度);
divs[i].onclick=null;
如何调用上面提到的函数来执行循环?
最佳答案
您可以使用指针事件来代替。
要禁用尝试:
divs[i].style.pointerEvents = "none";
要重新启用:
divs[i].style.pointerEvents = "";
关于javascript - 如何调用onclick事件,重新启用功能|仅限纯 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511612/