此问题已在此处有答案:
JavaScript event registering without using jQuery(6个回答)
9年前关闭。
我想创建一个布尔函数,它可以检测某个元素是否被点击,然后输出true或false。我想在纯JavaScript中实现这一点,而不使用jQuery,我的想法如下所示:
function clicked(whatever-element-I-want) {
if(whatever-element-I-want==clicked) {
return true;
} else {
return false;
}
}
我知道这个问题可能看起来真的很愚蠢,但我一直困惑的一切,我遇到了到目前为止,真的很想一个好的,简单的解释答案。
3条答案
按热度按时间g6ll5ycj1#
通常HTML元素不会跟踪状态,无论它们是否被点击。相反,当一个元素被点击时,它会触发一个click事件。要跟踪元素上的点击,你可以将状态存储在一个变量中,并在该元素触发click事件时更新它:
HTML:
JS:
请注意,当您单击元素时,页面上的所有其他代码都已经执行过了。通常情况下,基于事件的编程需要在事情发生时执行操作。以下是如何不时检查元素是否已被单击:
rlcwz9us2#
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.addEventListener
下面是你的例子:
联系我们
javascript:
k3bvogb13#
这将在单击ID为
my-button
的按钮时发出“已单击”警报:HTML
JavaScript
http://jsbin.com/jayutuze/1/edit
现在,从你的问题中,我猜你想要一些负面的反馈,如果按钮没有按下,但这有点复杂:应该在一段时间内不按吗?或者当鼠标悬停在它上面时不应该按吗?请解释你想达到的目的。