JQ click()事件不会绑定到按钮

时间:2015-02-12 18:26:38

标签: jquery onclick click

我在页面上运行一个功能,根据具体情况生成按钮 一套规则。当我尝试获取按钮并将点击事件绑定到它们时,问题就出现了。 这就是我处理按钮的方式:

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);
        }
      );
    });
  }

我尝试了所有我能想到的东西,并且我继续运行它,没有成功的任何键绑定......

1 个答案:

答案 0 :(得分:0)

您正在传递JavaScript DOM Button对象,因此您无法在其上调用jQuery方法。你需要写var button = $(this);,然后你可以调用button.click();