所以我有具有以下結構jQuery的。對沒有觸發動態添加元素
<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>
一個頁面,我因此寫了一些jQuery的:
$('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();
}
});
現在
<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>
但是,儘管該事件被重新:
,所以當我進入一個元素到文件時,它產生在上一個一個div使用.on()
註冊,div中的第二個文件輸入不會觸發事件。我錯過了什麼?
沒錯,所以你用選擇器綁定到文檔上!太棒了! – Liam
由於您似乎無法刪除'div.editCampaignBanner',因此您可以將它用作您的'on'而不是文檔的基礎。 –