อีกมุมมองหนึ่งสำหรับคำถามนี้ (ฉันใช้ bootstrap.js เวอร์ชั่น 3.3.6)
ฉันเข้าใจผิดว่าเริ่มต้น modal ทั้งสองด้วยตนเองใน javascript:
$('#myModal').modal({
keyboard: false
})
และโดยการใช้
data-toggle="modal"
ในปุ่มนี้เหมือนตัวอย่างด้านล่าง (แสดงในเอกสาร)
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Launch demo modal</button>
ดังนั้นผลลัพธ์จึงสร้างสองอินสแตนซ์ของ
<div class="modal-backdrop fade in"></div>
ต่อท้ายเนื้อหาของ html ของฉันเมื่อเปิดคำกริยา นี่อาจเป็นสาเหตุเมื่อปิดโมดอลโดยใช้ฟังก์ชั่น:
$('#myModal').modal('hide');
มันลบอินสแตนซ์ของฉากหลังเดียวเท่านั้น (ดังที่แสดงด้านบน) ดังนั้นฉากหลังจะไม่หายไป แต่มันก็หายไปถ้าคุณใช้data-dismiss="modal"
add บน html ดังที่แสดงใน bootstrap doc
ดังนั้นวิธีการแก้ปัญหาของฉันคือการเริ่มต้นเป็นกิริยาช่วยด้วยตนเองใน javascript และไม่ได้ใช้ data data ด้วยวิธีนี้ฉันสามารถปิด modal ด้วยตนเองและโดยใช้ data-dismiss="modal"
คุณสมบัติ
หวังว่านี่จะช่วยได้ถ้าคุณประสบปัญหาเดียวกันกับฉัน
$('#myModal').modal('hide')
? คุณสามารถใส่รหัสที่นี่ได้ไหม