Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Player {
- board: Board = new Board();
- pice: Pice = new Pice();
- constructor() {
- this.addKeyEvents();
- }
- addKeyEvents(): void {
- document.addEventListener("keydown", this.keyClick);
- }
- removeKeyEvents(): void {
- document.removeEventListener("keydown", this.keyClick);
- }
- keyClick(event: KeyboardEvent): void {
- console.log(this); // #document
- switch (event.keyCode) {
- // Left
- case 37:
- this.pice.move(-1, 0, this.board);
- break;
- }
- }
- }
- // Binding way.
- class Player {
- constructor() {
- this.addKeyEvents();
- // Bind the function to `this` context.
- this.keyClick = this.keyClick.bind(this)
- }
- addKeyEvents(): void {
- document.addEventListener("keydown", this.keyClick);
- }
- keyClick(event: KeyboardEvent): void { /* ... */ }
- }
- // Arrow function way.
- class Player {
- constructor() {
- this.addKeyEvents();
- }
- addKeyEvents(): void {
- // Create an intermediary arrow function that will keep the context.
- document.addEventListener("keydown", event => this.keyClick(event));
- }
- keyClick(event: KeyboardEvent): void { /* ... */ }
- }
Add Comment
Please, Sign In to add comment