gpt4 book ai didi

Javascript 从事件处理程序获取对父对象/类的引用

转载 作者:可可西里 更新时间:2023-11-01 02:50:30 25 4
gpt4 key购买 nike

我有一个名为 Foo 的类(或包含函数的对象;我听说没有 Javascript 类这样的东西),它有一个附加到单击事件的事件处理程序。调用事件处理程序时,我想修改类 Foo 的属性。通常,我会使用 this 关键字,但在事件处理程序中,this 引用设置为对 html 元素的引用。这是我的代码:

function Foo() {

this.num=0;
$('element').click(this.eventHandler);// jQuery to attach an onclick event to my element.

this.eventHandler=function() {
this.num++;// This doesn't work.
// Normally, "this" would refer to my instance of Foo,
// but as an event handler, "this" refers to the html element.
}
}

所以我的问题是:如何将对我的 Foo 实例的引用获取到我的事件处理程序中,以便我可以修改它的属性(如 num)?

最佳答案

function Foo() {
var _self = this;
this.num=0;

$('element').click(this.eventHandler);// jQuery to attach an onclick event to my element.

this.eventHandler=function() {
_self.num++;
}
}

使用在外部作用域中定义的引用 _self = this

关于Javascript 从事件处理程序获取对父对象/类的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656119/

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