0

我正在尝试在https://github.com/blueimp/jQuery-File-Upload的帮助下实现文件上传,并且遇到了一些奇怪的行为,希望有人可以向我解释,或者它实际上可能是一个错误, 我不知道。

我遵循了最小设置指南(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() 或兄弟() 将无法使用

$elem

单击输入按钮并加载一些随机图像后。这是一个错误还是我只是在这里遗漏了什么?

谢谢帮助

4

1 回答 1

0

所以,是的,简单的答案是,在每个输入字段更改事件之后,文件输入字段被替换为克隆。这是 iframe 传输队列所必需的,并且允许为相同的文件选择触发更改事件。

于 2013-09-19T09:27:18.147 回答