JQuery button.click()处理程序在没有单击的情况下触发

时间:2015-02-02 14:38:19

标签: javascript jquery click

现在我正在为我的拍卖游戏做一些清理代码,但是在调用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();
},

1 个答案:

答案 0 :(得分:1)

您正在调用该函数,而不是为其分配引用。

更改

.click(this.cleanUpAuction()) 

.click(this.cleanUpAuction) 

.click($.proxy(this.cleanUpAuction, this))