<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 id="modal-title"> </h4>
</div>
<div class="modal-body">
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse1">Course Introduction
</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse in">
<div class="panel-body">
<p>abc</p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse2">Description
</a>
</h4>
</div>
<div id="collapse2" class="panel-collapse collapse">
<div class="panel-body">
<p>Lorem </p>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapse3">Goals
</a>
</h4>
</div>
<div id="collapse3" class="panel-collapse collapse">
<div class="panel-body">
<p>Lorem ipsum dolor sit </p>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div></div> <!-- end of Modal -->
ここにはJavaScriptがあります。タブがアコーディオンでクリックされたときに折りたたみタブにクラスを追加するだけで、モーダルが閉じられてもevents.bs.collapseまたはshown.bs.modalイベントが発生していないときにすべてのアコーディオンを閉じたいとします。ブートストラップ3 - アコーデオンがモーダル内にある場合、shown.bs.collapseまたはshown.bs.modalイベントは発生しません。
$('#myModal').on('hidden.bs.modal', function() {
$('.collapse').collapse('hide');
});
$('#myModal').on('shown.bs.modal', function() {
$('#collapse1').collapse('show');
});
$('#accordion').find('.panel-default:has(".in")').addClass('panel-danger');
$('#accordion').on('show.bs.collapse', function (e) {
$(e.target).closest('.panel-default').addClass(' panel-danger');
}).on('hide.bs.collapse', function (e) {
$(e.target).closest('.panel-default').removeClass(' panel-danger');
})
まだ動作しています。このコードでは、モーダルを閉じた後、モーダルを再びクリックすると同じ折りたたみタブが開いたままになります。目標をクリックしてタブを閉じると、次にモーダルをクリックしたときに、目標タブが開いたままになります。 –