我如何检测 javascript 中的点击?
How would I detect clicks in javascript?
我正在 node.js 中构建一个小网页游戏,我一直在使用事件侦听器进行输入,并且它在按键和鼠标移动等方面运行良好。
window.addEventListener("keydown", onKeyDown);
window.addEventListener("keyup", onKeyUp);
window.removeEventListener("mousemove", onMouseInput);
(所有这些都很完美)
但是当我尝试使用 mouseup
/mousedown
事件(以及 pointerup
/pointerdown
)时,它们不会注册。我做错了什么吗?它必须点击什么吗?
window.addEventListener("pointerdown", changeShooting(true));
window.addEventListener("pointerup", changeShooting(false));
(无效)
您必须将函数传递给 addEventListener
,同时将调用的 结果 传递给 changeShooting
(我假设它不会 return一个函数)。
为此,您可以定义一个内联函数,例如:
window.addEventListener("pointerdown", function() {
changeShooting(true)
});
如果您以后需要删除侦听器,则必须明确定义它:
function onPointerDown() {
changeShooting(true);
}
window.addEventListener("pointerdown", onPointerDown);
// later somewhere
window.removeEventListener("pointerdown", onPointerDown);
我正在 node.js 中构建一个小网页游戏,我一直在使用事件侦听器进行输入,并且它在按键和鼠标移动等方面运行良好。
window.addEventListener("keydown", onKeyDown);
window.addEventListener("keyup", onKeyUp);
window.removeEventListener("mousemove", onMouseInput);
(所有这些都很完美)
但是当我尝试使用 mouseup
/mousedown
事件(以及 pointerup
/pointerdown
)时,它们不会注册。我做错了什么吗?它必须点击什么吗?
window.addEventListener("pointerdown", changeShooting(true));
window.addEventListener("pointerup", changeShooting(false));
(无效)
您必须将函数传递给 addEventListener
,同时将调用的 结果 传递给 changeShooting
(我假设它不会 return一个函数)。
为此,您可以定义一个内联函数,例如:
window.addEventListener("pointerdown", function() {
changeShooting(true)
});
如果您以后需要删除侦听器,则必须明确定义它:
function onPointerDown() {
changeShooting(true);
}
window.addEventListener("pointerdown", onPointerDown);
// later somewhere
window.removeEventListener("pointerdown", onPointerDown);