我想检查一个div类元素是否被点击过。在Javascript中有没有办法。我有一个条件语句,它检查样式是否具有某些属性,但我不知道如何检查该条件语句中的div类是否已被单击...
以下是我目前为止的代码:
let a = document.getElementsByClassName("roll")[0];
let b = document.getElementsByClassName("effect")[0];
a.onclick = function(){
b.setAttribute('style','border-right:4px solid #aa2e27')
}
a.onmouseover = function(){
if(b.hasAttribute('style','border-right:none') && a.onclick.value == "true"){
b.setAttribute('style','border-right:4px solid #aa2e27');
}
}
正如您所看到的,if条件发生在mouseover事件上。有办法检查吗?(我在鼠标悬停时输入的内容不会触发)
3条答案
按热度按时间q3aa05251#
若要检查具有特定类的元素是否已被单击,可以在该元素上使用事件侦听器,并在单击事件发生时更新变量。下面是一个例子:
在这段代码中,我们将isClicked变量初始化为false。当点击带有“roll”类的元素时,我们将isClicked设置为true。然后,在mouseover事件侦听器中,我们在应用所需样式之前检查isClicked是否为false。
通过对单击事件使用事件侦听器,可以捕获单击的时刻并相应地更新状态。
x6yk4ghg2#
您可以在外部范围中创建一个变量来跟踪它,如下所示:
u3r8eeie3#
这是个可行的解决方案。只需添加一个事件监听器并更新全局变量。