您好,登錄后才能下訂單哦!
最近一直在使用Bootstrap,遇到了很多問題,通過google也明白了很多,學習了很多。針對‘Bootstrap modal 多彈窗之疊加顯示不出彈窗問題'說一下自己的解決辦法。
當然還是官方提出的‘最好不要多個modal疊加很容易出現很難解決的前端組件問題'
示例代碼:
<div class='bs-example-modal-lg fade modal' data='0' id='feature-mapping-dialog-form' style='display:none'> <div class='modal-dialog modal-max-lg'> <div class='modal-content'> <div class='modal-header'> <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button> <h5 class='modal-title'>Map Features</h5> </div> <div class='modal-body'> <div> <table> <tr> ..... <td> <div class='bs-example-modal-lg fade modal' id='feature-mapping-dialog-form' style='display:none'> <div class='modal-dialog modal-max-lg'> <div class='modal-content'> <div class='modal-header'> <button class='close' id='feature-mapping-dialog-form_close_button' type='button'>x</button> <h5 class='modal-title'>Map Features</h5> </div> <div class='modal-body'> ...
script:
$( "#feature-mapping-dialog-form" ).bind('show.bs.modal',function(){ if($( "#feature-mapping-dialog-form" ).attr("data")=="1"){ $("#ajax_search_done").val("NO"); $("#edit_path_lba_tree").jstree("deselect_all"); $("#edit_path_lba_tree").jstree("close_all"); ... $( "#feature-mapping-dialog-form" ).attr("data","0"); }) $( "#feature-mapping-dialog-form" ).bind('hide.bs.modal',function(){ if($( "#feature-mapping-dialog-form" ).attr("data")=="1"){ $("#edit_path_lba_tree").jstree("deselect_all"); $("#edit_path_lba_tree").jstree("close_all"); ... $( "#feature-mapping-dialog-form" ).attr("data","0"); })
效果是在第一個彈框的基礎上彈出第二個modal
這里很多人會問,我的沒問題啊,直接顯示了,請看代碼,如果你的modal的div是直接在body下面的,并且modal沒有其他額外的action監聽,比如'show.bs.modal','hide.bs.modal'等監聽事件,簡單彈出顯示文本內容,不會有什么問題,如果有以上的邏輯代碼,那么modal彈窗就會出問題,也就是顯示不出來第二個modal.
針對這個問題,我的解決辦法是:
<div class='bs-example-modal-lg fade modal' data='0' id='feature-mapping-dialog-form' style='display:none'>
增加data屬性區分modal
當調用xxxx.modal()之前,設置為”1”,進入監聽代碼
判斷是否為第一個modal訪問,處理完邏輯,重新設置為0.
以上所述是小編給大家介紹的Bootstrap modal 多彈窗之疊加顯示不出彈窗問題的解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。