【发布时间】:2017-08-30 15:58:22
【问题描述】:
在纯 JavaScript 中,我想确定一个按钮当前是否被按下。
我不想使用在 mousedown、mouseup 或任何其他鼠标事件上设置标志的解决方案
有一个循环,由鼠标按下触发,这个循环在 setTimeout 之后运行。 mouseup、mousedown 监听器不可用 - 我想做类似的事情:
let mainButton = document.getElementById("main-button");
// inside the callback of a setTimeout somewhere in the distant future.....
if(mainButton.??? isDown/style.isCurrrentlyClicked){
//doSomething
}
同样,不会为此使用 mouseup/down 标志。谢谢。
【问题讨论】:
-
“没有 mouseup/down 标志将用于此”这太糟糕了,因为没有其他解决方案。
-
我们会看到@zzzBov。也许有
-
如果您对HTMLButtonElement API 进行过任何研究,您就会知道没有。这不是“我们会看到”的问题。如果您希望最终在 DOM API 中引入替代方案,请成为我的客人。
-
也许有一个使用 css 的解决方案 - 检查应用的类等。我一直在研究它,但还没有找到一个优雅的解决方案
-
您能提供更多背景信息吗?听起来您的代码在第 3 方网站上以某种不受信任的方式运行?这是一个糟糕的推论吗?你有什么理由不能更多地描述这个问题?如果您知道按钮设置了 onHover、onClick 等属性,您可以探索的一个想法是调查按钮的颜色。 (nvm,刚刚看到你的评论)
标签: javascript