0

我希望这仍然有意义。我没有代码,但我想知道如何做到这一点。问题出在“ onclick=\"thatThing.doSmthg();\"”。

它导致“thatThing 未定义”。

谢谢!

var oneThing = new Thing();

letsDoSmthg(oneThing);

letsDoSmthg(thatThing){
    document.getElementById("fezok").innerHTML+="<input type=\"button\" value=\"Do smthg\" onclick=\"thatThing.doSmthg();\">";
}

function Thing(){
    this.variable1=0;
}
Thing.prototype={
    doSmthg: function(){
        this.variable1=1534;
    },
4

1 回答 1

1

不要使用字符串来创建 HTML。使用元素。

var letsDoSmthg = function(thatThing) {
    var button = document.createElement('input');
    button.type = 'button';
    button.onclick = function() {
        thatThing.doSmthg();
    };

    document.getElementById("fezok").appendChild(button);
};
于 2013-09-30T17:32:56.613 回答