我正在尝试借助https://github.com/blueimp/jQuery-File-Upload遇到了一些奇怪的行为,我希望有人能向我解释,或者这可能真的是一个bug,我不知道。
我遵循了最低设置指南(https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin)并设置一个新项目,在那里我更改了这个(只有脚本):
<body>
<input id="fileupload" type="file" name="files[]" multiple>
</body>
-
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
(为了说明我的问题)。我引入了一个变量,并将$("#fileupload")分配给它,然后从此开始使用该变量:
<script>
$(function () {
var $elem = $('#fileupload');
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
$elem.on('change', function(e) {
console.log($elem.parent());
console.log($elem.next());
console.log($elem.prev());
console.log($elem.siblings());
});
</script>
由于某些原因,jQuery的树遍历方法(如parent()、next()、prev()或sibling())无法与一起使用
$elem
在点击输入按钮并加载一些随机图像之后。这是一个bug还是我只是错过了什么?
thx用于帮助
所以,是的,简单的答案是,在每个输入字段更改事件之后,文件输入字段都会被一个克隆替换。这对于iframe传输队列是必需的,并且允许为相同的文件选择触发更改事件。