我如何检测 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);