0

プラグインを使用してアップローダーを管理しています。しかし問題は、ボタンを押すたびに新しいファイル アップローダーを追加しているため、プラグインは、ページが読み込まれたときに既に作成されている要素にのみ読み込まれることです。これは私が持っているものの例です:

<div id="uploaders">
    <div class="container">
        <div class="file-uploader">
            <input type="files" name="files[]">
        </div>
    </div>
    <button>Add new uploader</button>
</div>
<script src="js/file-uploader.min.js"></script>
<script>
$(function() {
    $uploaders = $('#uploaders');
    $uploaders.find('.file-uploader input').myPlugin({ options }).on('uploadfinished', function(){ console.log('File uploaded!'); });
    $uploaders.find('button').on('click', function(){
        $(this).closest('.container').append('<div class="file-uploader"><input type="files" name="files[]"></div>'); //This uploader won't load myPlugin
    });
});
</script>

生成されたすべてのファイル アップローダにそのプラグインをアタッチする方法はありますか? HTML を追加する直前にそれを行うことができることはわかっていますが、すべての構成とイベントを再度定義する必要があるため、問題になります...

4

1 に答える 1

0

jQuery .on() メソッドを使用し、ここで説明されている「委任されたイベント」メソッドを使用します: http://api.jquery.com/on/

于 2013-08-28T01:14:22.310 に答える