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