gpt4 book ai didi

javascript - 如何在 JavaScript 事件处理程序中引用对象?

转载 作者:行者123 更新时间:2023-11-28 04:42:52 25 4
gpt4 key购买 nike

注意:这道题用到了jQuery但是这道题和jQuery无关!

好的,我有这个对象:

var box = new BigBox();

这个对象有一个名为 Serialize() 的方法:

box.AddToPage();

这是方法AddToPage():

function AddToPage()
{
$('#some_item').html("<div id='box' onclick='this.OnClick()'></div>");
}

上面的问题是this.OnClick()(显然是行不通的)。我需要 onclick 处理程序来调用 BigBox 类的成员。我该怎么做?

对象如何在事件处理程序中引用自身?

最佳答案

您应该使用 jQuery 附加处理程序:

function AddToPage()
{
var self = this;
$('#some_item').empty().append(
$("<div id='box'></div>")
.click(function() { self.OnClick(someParameter); })
);
}

为了强制在对象的上下文中调用事件处理程序(并传递参数),您需要添加一个匿名函数来正确调用处理程序。否则,处理程序中的 this 关键字将引用 DOM 元素。

关于javascript - 如何在 JavaScript 事件处理程序中引用对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694616/

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