gpt4 book ai didi

javascript - 在监听器 (onClick) 中调用函数时出现问题

转载 作者:行者123 更新时间:2023-11-29 17:00:45 26 4
gpt4 key购买 nike

我在这里四处寻找这个问题的答案,但我找不到任何有用的东西。

基本上我正在制作一款塔防游戏。每个塔都是动态创建的,并且启用了 onClick。在 onClick 监听器中,我试图在类中调用一个方法。

例如玩家点击塔并可以选择升级

但是监听器中的方法正在输出未定义的函数。我知道这显然与我的范围有关。但我不知道我错过了什么?

当然应该是这样的:

someListener: function(){
this.game.doSomeOtherFunction();
}

我试过一个console.log,someListener确实被调用了,但是里面的方法是未定义的。

谢谢,

最佳答案

它不起作用,因为 this 在回调中相应地更改了上下文。你可以这样做:

var self = this;
...
someListener: function(){
self.game.doSomeOtherFunction();
}
...

或者您也可以这样做:

someListener: (function () {
var callback = function(){
this.game.doSomeOtherFunction();
}
return callback.bind(this);
}())

希望对你有帮助。

关于javascript - 在监听器 (onClick) 中调用函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386051/

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