Reactjs 使用typescript作出反应:onmouseup和onmousedown不识别左键单击
我有一段简单的代码,它应该在按下鼠标时将mousePressed变量设置为true,在未按下鼠标时将其重置。我看到它在右键单击和中键单击时效果很好,但在左键单击时效果不好<代码>事件。中键单击和右键单击分别返回2和3。我错过了什么?有没有办法使用onclick()获得相同的行为?我正在使用react with typescriptReactjs 使用typescript作出反应:onmouseup和onmousedown不识别左键单击,reactjs,typescript,mouseevent,Reactjs,Typescript,Mouseevent,我有一段简单的代码,它应该在按下鼠标时将mousePressed变量设置为true,在未按下鼠标时将其重置。我看到它在右键单击和中键单击时效果很好,但在左键单击时效果不好事件。中键单击和右键单击分别返回2和3。我错过了什么?有没有办法使用onclick()获得相同的行为?我正在使用react with typescript const canvasElement = document.createElement("canvas"); canvasElement
const canvasElement = document.createElement("canvas");
canvasElement.onmousedown = (event: MouseEvent) => {
console.log(event.which);
console.log("Mouse pressed");
console.log(this.mousePressed);
this.mousePressed = true;
};
//this.onmouseDown;
canvasElement.onmouseup = (event: MouseEvent) => {
console.log(event.which);
console.log("Mouse unpressed");
console.log(this.mousePressed);
this.mousePressed = false;
};
这起到了作用:
canvasElement.addEventListener("pointerdown", this.onmouseDown.bind(this));
canvasElement.addEventListener("pointermove", this.recordCoordinates.bind(this));
canvasElement.addEventListener("pointerup", this.onmouseUp.bind(this));
您之前提供的代码工作正常: 打开小提琴上的控制台,您应该会看到正确的
您可能在应用程序中还有其他东西正在捕获点击。确保您没有在任何地方调用e.stopPropogation
编辑:我看到了你的新解决方案。您的代码中可能有其他原因导致了此问题,但很高兴您修复了它