禁用然后重新启用click function jQuery

ram*_*amo 6 javascript firefox jquery

我有一个文件上传系统,点击上传按钮后,文件将通过AJAX上传.在上传文件时,我想禁用"选择图像"按钮上的单击功能.目前这是文件选择按钮上的单击功能:

$(document).ready(function() {
    $("#file-button").click(function() {
        $('#file').trigger('click');
    });
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我想在XmlHttpRequest的进度阶段禁用click函数,然后在从服务器获得200响应时重新启用click函数.我已经尝试了bind()并且unbind()它在Chrome中工作正常,但在firefox中,在上传过程中,无法点击按钮,这就是我想要的,然后在我从服务器获得响应后重新启用按钮,但是firefox两个文件选择对话窗口同时打开.这是因为上面的功能,我再次使用绑定功能bind().有没有人对如何启用有任何建议,然后禁用该按钮而不重新输入click事件的代码(功能).

这样的事情会更好:

$('#file-button').disable();
$('#file-button').enable();
Run Code Online (Sandbox Code Playgroud)

我已经尝试了on()并且off()他们似乎也没有工作.

ram*_*amo 8

解决方案 - 感谢Eric

我将初始点击功能更改为以下内容:

$(document).ready(function() {
    $("#file-button").click(function() {
      if ( $('#file-button').attr('disabled') == "disabled" ) {
        return false;
      }
      else {
          $('#file').trigger('click');
      }
    });
});
Run Code Online (Sandbox Code Playgroud)

我设置以下内容以禁用该按钮

$('#file-button').attr('disabled','disabled');
Run Code Online (Sandbox Code Playgroud)

这要重新启用它:

$('#file-button').removeAttr('disabled');
Run Code Online (Sandbox Code Playgroud)