我想在JavaScript类中包含一个onclick事件,但由于onclick是类中的一个函数,this
变量将无法正常工作。
如何从onclick函数修改/输出this
变量?
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/
答案 0 :(得分:1)
您可以使用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了解更多信息和互动示例。
答案 1 :(得分:0)