методы обхода дерева blueimp/jQuery-File-Upload и jquery для входного элемента

Я пытаюсь реализовать загрузку файлов с помощью 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() или sibling(), не будут работать с

$elem

больше после нажатия кнопки ввода и загрузки случайного изображения. Это ошибка или я просто что-то пропустил здесь?

спасибо за помощь


person macg    schedule 27.08.2013    source источник


Ответы (1)


Так что да, простой ответ заключается в том, что поле ввода файла заменяется клоном после каждого события изменения поля ввода. Это требуется для транспортных очередей iframe и позволяет запускать события изменения для одного и того же выбора файла.

person macg    schedule 19.09.2013