除了 keyUp 之外,还有其他方法可以检查输入是否已填写吗?

Is there any alternative to keyUp to check whether an input was filled?

所以我有这个代码:

    $(document).ready(function(){
        if($('#proofAttach-filemanager').val().length !=0){
            $('#download_now').attr('disabled', false);
        }
        else
        {
            $('#download_now').attr('disabled', true);        
        }
    });  

id为proofAttach-filemanager的字段在我每次上传文件时使用elFinder动态填充。

由于每次页面加载时上面的代码只有运行,我不知道如何更新download_now按钮以动态启用每次填写该字段(并且没有 keyUp)

HTML 段:

<div class="form-group col-md-12">

<label>Attachment</label>
<input type="text" id="proofAttach-filemanager" name="proofAttach" value="" class="form-control" readonly="">

<div class="btn-group" role="group" aria-label="..." style="margin-top: 3px;">
  <button type="button" data-inputid="proofAttach-filemanager" class="btn btn-default popup_selector">
    <i class="fa fa-cloud-upload"></i> Browse uploads</button>
  <button type="button" data-inputid="proofAttach-filemanager" id="download_now" class="btn btn-default download_now">
    <i class="fa fa-cloud-download"></i> Download</button>
    <button type="button" data-inputid="proofAttach-filemanager" class="btn btn-default clear_elfinder_picker">
    <i class="fa fa-eraser"></i> Clear</button>
</div>

在该文本框的 change 事件中编写您的逻辑应该可行。

$(document).ready(function(){
   toggleDownloadButtonAccess();

   $('#proofAttach-filemanager').change(toggleDownloadButtonAccess);

  function toggleDownloadButtonAccess(){

    var $btnDownload = $('#download_now');    
    if($('#proofAttach-filemanager').val().length !=0){
       $btnDownload.attr('disabled', false);
    }
    else
    {
       $btnDownload.attr('disabled', true);        
    }
   }


 });