现在我正在为我的拍卖游戏做一些清理代码,但是在调用endAuction()
之后立即触发我的函数,而不是在点击按钮时。我似乎无法弄清楚为什么,而且我对JavaScript或jQuery并不十分熟悉,有人可以指出我的问题吗?
endAuction:function()
{
var i = 0;
var btnID = "as" + (i).toString(),
liID = "asli" + (i).toString();
var cleanBtn = $('li#' + liID + ' button#' + btnID);
cleanBtn.text("Sold!");
var btn = $('#' + btnID);
btn.off().click(this.cleanUpAuction());
},
cleanUpAuction:function()
{
console.log("Removing button");
userStats.money += currentBid;
currentBid = 0;
var i = 0;
var liID = "asli" + (i).toString();
var carElement = $('li#' + liID);
carElement.remove();
},
答案 0 :(得分:1)
您正在调用该函数,而不是为其分配引用。
更改
.click(this.cleanUpAuction())
到
.click(this.cleanUpAuction)
或
.click($.proxy(this.cleanUpAuction, this))