我试图在单击按钮时禁用该按钮,同时运行一个调用API的函数,当它完成后,我想重新启用该按钮。

我已经尝试了一些变体,例如attr() / removeAttr(),以及下面的同时使用$(this)$('#miss')的变体,但是奇怪的是,当我只有禁用行时,按钮禁用了,我先禁用后再启用,如按钮下面的代码中的永不禁用。我想念什么?

$('#miss').click(function() {
  $(this).prop('disabled', true);

  registerShot('miss');

  $(this).prop('disabled', false);
});

最佳答案

如果您的registerShot函数编写没有问题,这将帮助您:

$('#miss').click(function() {
  let missButton = $(this);
  $(missButton).prop('disabled', true);

  registerShot('miss')
    .then(function(res) {
      $(missButton).prop('disabled', false);
    });

});

09-19 02:26