gpt4 book ai didi

javascript - 将 onclick 函数扩展至 javascript 类

转载 作者:行者123 更新时间:2023-11-28 01:57:44 26 4
gpt4 key购买 nike

我想在 JavaScript 类中包含 onclick 事件,但由于 onclick 是类内部的函数,因此 this变量将无法正常工作。

如何修改/输出 this onclick 函数中的变量?

img = new image();

function image() {
this.width = 400;
this.height = 600;
document.getElementById('button').onclick = function()
{
alert(this.width); // alerts undefined
};
}

请参阅此处的 JSfiddle:http://jsfiddle.net/ZghRv/

最佳答案

您可以使用bind() 创建一个新函数,将this 设置为您传递给bind() 的对象。

img = new image();

function image() {
this.width = 400;
this.height = 600;
document.getElementById('button').onclick = (function()
{
alert(this.width); // alerts undefined
}).bind(this); // <--- Add bind() here to pick the value of 'this' inside onclick
}

查看JavaScript Function bind了解更多信息和互动示例。

关于javascript - 将 onclick 函数扩展至 javascript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18863288/

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