gpt4 book ai didi

javascript - JS 类 this 与事件监听器

转载 作者:行者123 更新时间:2023-12-02 17:35:07 25 4
gpt4 key购买 nike

我有一个带有处理事件的函数的类。但是,当事件监听器调用处理函数时,this 关键字引用被单击的元素,而不是类。我想让该类的其他变量/函数从处理函数中可见。

看看:http://jsfiddle.net/cy7uM/1/

(使用 FireBug 或其他调试器查看 console.log 消息)

function Class(){
this.hello = "Hello World";

document.getElementById("c").addEventListener("click", this.clickHandler); //doesn't work when clicked
}

Class.prototype.clickHandler = function(){
console.log(this);
alert(this.hello);
}

var myobj = new Class();

myobj.clickHandler(); //works

最佳答案

尝试

function Class(){
this.hello = "Hello World";

document.getElementById("c").addEventListener("click", this.clickHandler.bind(this));
}

关于javascript - JS 类 this 与事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22666972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com