我在页面上运行一个功能,根据具体情况生成按钮 一套规则。当我尝试获取按钮并将点击事件绑定到它们时,问题就出现了。 这就是我处理按钮的方式:
function button_Func(user, friend) {
var action = "";
var buttons = $("button");
buttons.each(function() {
var button = this;
switch ($(this).val()) {
case 'addFriend':
action = "add_Friend";
friend_Stat(button, user, friend, action);
break;
case 'approve':
action = "approve_friend";
break;
case 'decline':
action = "not_Friend";
friend_Stat(button, user, friend, action);
break;
case 'unfriend':
action = "de_Friend";
friend_Stat(button, user, friend, action);
break;
case 'regret':
action = "update_Friend";
friend_Stat(button, user, friend, action);
break;
case 'regret_request':
action = "de_Friend";
friend_Stat(button, user, friend, action);
break;
default:
break;
}
});
}
正如我所说,这是有效的,但绑定部分不适用:
function friend_Stat(button, user, friend, action)
{
button.click(function() {
$.post('ajax.php', {
user_id: user,
friend: friend,
ajax: action
},
function(data) {
if (!data) {
$('#errPopup').html(data);
} else location.reload(true);
}
);
});
}
我尝试了所有我能想到的东西,并且我继续运行它,没有成功的任何键绑定......
答案 0 :(得分:0)
您正在传递JavaScript DOM Button对象,因此您无法在其上调用jQuery方法。你需要写var button = $(this);
,然后你可以调用button.click();