以下是我的 JQuery onclick 函数。应用于图像的事件。
此代码根据收到的数据值更改 onclick 事件。
我在代码中添加了一个断点,如下代码所示。正在发生的一件奇怪的事情是,在我第一次点击时,解释器只通过我的代码一次,这是正常的。
但是当我点击第二次时,它通过了 2 次
第三次点击它通过 4 次
第 5 次点击 8 以此类推
即每次点击调用的回调数量呈指数增长。现在我的问题是为什么会这样。
注意:所有变量都已正确定义,但为简化起见,我删除了其余代码。
updateUser = function (user, block) {
jQuery.ajax({
type: "POST",
url: "index.php?option=com_contentbuilder&controller=myActicateUser",
data: data,
dataType: "json",
success: function (data) {
if (data) {
var pinID = "#pin" + user;
user = data[0];
>>breakpoint if (data[1] === "0") {
jQuery(pinID).click(function () {
updateUser(user, "1")
});
jQuery(pinID).attr("src", tack);
} else if (data[1] === "1") {
jQuery(pinID).click(function () {
updateUser(user, "0")
});
jQuery(pinID).attr("src", tick);
}
}
}
});
}
我已经尝试过的是
if(data[1]==="1"){
jQuery(pinID).unbind();
jQuery(pinID).removeAttr("onclick");
jQuery(pinID).click(function(){updateUser(user,"0")});
}