我在我的应用程序中使用了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>
如何触发文件上传事件?谁能帮我解决这个问题?
提前谢谢。
不会触发动态字段上的事件,因为您是在字段可用之前注册事件。
此问题的解决方案是从页面加载时可用的父元素委派事件。例如文档或正文(或加载页面时确定存在的任何元素(。
所以基本上你的代码:
$("#files').fileupload(//do something)
将更改为:
$('body').on('fileupload', '#files', function() {
// do something
});