这是我的问题:我想从javascript中看到此刻是否点击了某个对象,以下是一个例子:
setInterval(function() {
if (document.getElementByTagName('button')[0].isBeingClicked) { //I know this isn't right: This is where my question is about.
console.log('Button being clicked');
return;
};
console.log('Button not being clicked');
}, 1000);
使用简化的HTML ofcourse:
<html>
<head></head>
<body>
<button>Click me</button>
</body>
</html>
[]是&lt; &GT; ofcourse。
总而言之:我希望能够看到此时是否点击了按钮或其他对象。如果已单击,则单击,但不是。
答案 0 :(得分:2)
我认为这可能就是你要找的东西。
<强> HTML 强>
<button onmousedown="mouseDown()" onmouseup="mouseUp()">Click me</button>
<强>的Javascript 强>
<script>
var click = false;
function mouseDown() {
click = true;
console.log('Button being clicked');
}
function mouseUp() {
click = false;
console.log('Button not being clicked');
}
setInterval(function(){
if (click === false) {
console.log('Button not being clicked');
} else if (click === true) {
console.log('Button being clicked');
}
}, 1000)
</script>
可以找到替代解决方案,以及更深入的答案here。
答案 1 :(得分:0)
正如乔治所说,你正在寻找mousedown()事件。它在点击发生后没有被点击后准确触发。
答案 2 :(得分:0)
if (document.getElementsByTagName('button')[0].onmousedown)
你缺少s后元素。它返回一个数组,因此为[0]。如果这不是页面上的第一个按钮而不是工作,请使用下面的代码,如果有超过1个按钮,
var buttons=document.getElementsByTagName('button');
for(var i=0;i > buttons.length; i++){
buttons[i].addEventlistener("mousedown", MyFunction);
}
按下任何按钮
,这将调用一个名为MyFunction的函数