Also habe ichJQuery .on ('change') nicht für dynamisch hinzugefügte Elemente Brennen
<div class="editCampaignBanner">
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
</div>
eine Seite mit der folgenden Struktur, und ich habe einige jQuery so geschrieben:
$('div.editCampaignBanner input:file').on('change', function() {
var value = $(this).val();
var div = $(this).parent();
var html = '<div>'+ div.html() + '</div>';
if (value.length > 0) {
div.after(html);
}
else if ($(this) > 1) {
div.remove();
}
});
so, wenn ich ein Element in die Datei eingeben erzeugt er ein div unter dem vorherigen:
<div class="editCampaignBanner">
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
<div>
<hr>
<label for="file">Upload a new image</label>
<input id="file" type="file" name="file" class="valid">
<label for="NewImageURLs">Link URL (Optional)</label>
<input id="NewImageURLs" type="text" value="" name="NewImageURLs">
<hr>
</div>
</div>
Aber jetzt, trotz der sein Wieder Ereignis Gistored mit .on()
die zweite Datei-Eingabe in der div wird das Ereignis nicht ausgelöst. Was vermisse ich?
richtig, so binden Sie das an das Dokument mit einem Selektor! Ausgezeichnete ta! – Liam
Da du 'div.editCampaignBanner' anscheinend nicht entfernst, kannst du es als Basis für dein' on' anstelle des Dokuments verwenden. –