jquery blueimp文件上传没有触发

时间:2018-03-19 10:57:59

标签: javascript jquery jquery-file-upload blueimp

我在我的应用程序中使用jquery blueimp文件上传。我已将该功能添加到$(function()

$( function() {
    $("#files').fileupload({
    url: "uploadhandler.php", 
    dataType: 'text',
    autoUpload: false,
    singleFileUploads: false,
    replaceFileInput: false,
    add: function (e, data) { 
      alert("inside add");
    }
}).prop('disabled', !$.support.fileInput)
    .parent().addClass($.support.fileInput ? undefined : 'disabled');   
});
</script>

页面加载时,文件输入字段不可用。因此fileupload事件不会被触发。我正在通过ajax调用加载文件输入字段和其他相关的html内容。

<span class="btn btn-success fileinput-button w3-margin-bottom  ">
    <i class="glyphicon glyphicon-plus"></i>
    <span>Attach</span>
    <input id="files" name="files" type="file" style="cursor: pointer;">
</span>

如何触发fileupload事件?任何人都可以帮我解决这个问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

动态字段上的事件不会被触发,因为您在字段可用之前注册了一个事件。

对此的解决方案是从页面加载时可用的父元素委派事件。例如文档或正文(或者在加载页面时确定存在的任何元素)。

基本上是你的代码:

$("#files').fileupload(//do something)

将更改为:

$('body').on('fileupload', '#files', function() {
    // do something
});