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

JQ click() event wont bind to a button

我在页面上有一个函数 运行 根据特定的生成按钮 一套规则。当我尝试获取按钮并将点击事件绑定到它们时,问题就开始了。 这是我处理按钮的方式:

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

我尝试了所有我能想到的方法,但我保留了 运行 这个,但没有任何键绑定成功...

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