[英]Load cloned modal (bootstrap)
是否可以使用引導程序加載新克隆的模態?
我需要加載許多不同的模態,但下面是一個嘗試僅加載一個新模態的示例。
我見過在模態中加載克隆元素的問題,但沒有看到完全克隆的模態。
這是一個問題: http : //jsfiddle.net/hde13s2t/6/
腳步:
用戶單擊“克隆”以克隆模態
Javascript 克隆模態並將適當的標簽重命名為“克隆”(按鈕和模態標簽)
用戶單擊克隆的模態 -->“啟動演示模態 2”
html 全部正確加載,但新模式不會觸發。
HTML:
<!-- Button trigger modal -->
<div id="launchmodal1">
<button type="button" class="btn btn-primary" data-toggle="modal" id="examplemodalbutton1" data-target="#exampleModal1">
Launch demo modal 1
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal1" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
<button type="button" class="btn btn-secondary" id="clicktoclone">Clone</button>
Javascript:
$(document).on("click", "#clicktoclone", function() {
var secondmodal = $("#launchmodal1").clone();
// updating button id and data-target for modal 2
secondmodal.find("#examplemodalbutton1").attr("id", "examplemodalbutton2").attr("data-target", "exampleModal2").html("Launch demo modal 2");
// updating modal id for modal 2
secondmodal.find("#exampleModal1").attr("id", "examplemodal2");
secondmodal.appendTo('#launchmodal2');
});
jQuery.clone 不會為新的 DOM 元素克隆引導事件。 因此,您必須在將新模態附加到 DOM 樹后設置模態調用:
$(document).on("click", "#clicktoclone", function() {
var secondmodal = $("#launchmodal1").clone();
// updating button id and data-target for modal 2
secondmodal.find("#examplemodalbutton1").attr("id", "examplemodalbutton2").attr("data-target", "exampleModal2").html("Launch demo modal 2");
// updating modal id for modal 2
secondmodal.find("#exampleModal1").attr("id", "examplemodal2");
secondmodal.appendTo('#launchmodal2');
// set new click event to show the cloned modal
$('#examplemodalbutton2').on('click', function() {
$('#examplemodal2').modal();
})
});
如果您有多個模態克隆,則可以將全局單擊事件偵聽器綁定到所有模態按鈕:
$(document).on('click', '.btn', function() {
var targetSelector = $(this).data('target');
$(targetSelector).modal();
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.