Estoy tratando de hacer lo siguiente:
Ahora tengo algo en el que mi evento 'pointermove' siempre se activa incluso después de activar el evento de puntero hacia arriba y eliminarlo. Puede verlo en el registro aquí: después de apuntar hacia arriba, no quiero que se mueva más el puntero: 
Aquí está el código:
class Controls{ constructor() { this.setControls(); this.onPointerDown(); } setControls() { window.addEventListener("pointerdown", this.onPointerDown); } onPointerDown(event) { window.addEventListener("pointermove", this.onPointerMove); window.addEventListener("pointerup", this.onPointerUp); console.log("Pointer Down"); } onPointerMove(event) { console.log("Pointer Move"); } onPointerUp(event) { console.log("Pointer Up"); window.removeEventListener("pointermove", this.onPointerMove); window.removeEventListener("pointerup", this.onPointerUp); } } let controls = new Controls(); <div>Test</div>