首页 > 解决方案 > 如何防止“this”被覆盖?

问题描述

所以我正在使用 ES6 类的东西,我以前没有机会搞砸,还有事件处理程序,我遇到了我的this.

Javascript:

class Chat {
    constructor() {
        /*code*/
    }

    handleOnKeyDown() {
        console.log("A key was pressed somewhere on the page!")
        console.log(this)
    }
}

HTML:

let chat = new Chat()

chat.handleOnKeyDown() //this === [Chat Object]

document.onkeydown = chat.handleOnKeyDown //this === #document

我是如何this被覆盖的,我怎样才能防止它这样做?我并不特别需要事件处理程序中的 this,因为它实际上就是整个文档,并没有给我任何额外的上下文。

标签: javascripthtml

解决方案


推荐阅读