我有一个问题,在我的项目。我创建了一些像键盘的刽子手游戏与跨度。在点击的情况下,我需要有禁用跨度的字母,如果用户选择了错误的字母刽子手图像应该改变。但当我点击任何按钮,它看起来像是禁用,因为我改变了颜色
. clickedLetter{
background-color :....
opacity:.1;
pointer-events: none;
}
但字母仍然是可点击的,当你点击禁用字母(span)时,刽子手的图像会发生变化。
我想添加一些内容来阻止任何操作
这是我的代号:
document.addEventListener("click", (e) => {
if(e.target.className ==='boxForLetter')
{ e.target.classList.add("clickedLetter");}
let clickedLetter= e.target.innerHTML;
.......
....
...
。
我很感激你对这个问题的任何想法
2条答案
按热度按时间mdfafbf11#
问题出在if语句中。
你需要在if语句中运行代码,而不是在它下面。如果你在委托的click处理程序中的if语句下面运行hangman代码,任何点击都会触发hangman代码。另外,我建议检查classlist是否包含类,而不是类名是否等于什么。这更现代,并且允许对象上有更多的类。
e5nqia272#
如果我没理解错的话,你想删除已经被点击过的click事件,实际上可以使用
pointer-events: none
来禁用事件触发器。第一个