2017-03-14 69 views
1

我決定最近嘗試fancybox 3,發現一個非常奇怪的錯誤,只有在打開引導模式窗口時纔會出現。Fancybox 3和Bootstrap 3 Modal奇怪的錯誤

所以我做了一個小的演示爲例(見全頁模式)

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> 
 
<link href="https://gitcdn.xyz/repo/fancyapps/fancybox/master/dist/jquery.fancybox.css" rel="stylesheet" type="text/css" /> 
 
<script src="https://code.jquery.com/jquery-3.1.1.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> 
 
<script src="https://gitcdn.xyz/repo/fancyapps/fancybox/master/dist/jquery.fancybox.js" type="application/javascript"></script> 
 

 
<!-- Gallery modal --> 
 
<div id="galleryModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="galleryModal"> 
 
    <div class="modal-dialog modal-lg" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
     <h4 class="modal-title">Cats Gallery</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 
     <a href="http://www.cats.org.uk/uploads/images/featurebox_sidebar_kids/grief-and-loss.jpg" 
 
      data-fancybox="gallery" 
 
      class="btn btn-default" 
 
      >Show Cat 1</a> 
 
     <a href="http://cdn1-www.cattime.com/assets/uploads/gallery/persian-cats-and-kittens/persian-cats-and-kittens-1.jpg" 
 
      data-fancybox="gallery" 
 
      class="btn btn-default" 
 
      >Show Cat 2</a> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div> 
 

 
<button class="btn btn-default" data-toggle="modal" data-target="#galleryModal">Show cats</button> 
 
<br /> 
 
<br /> 
 
<a href="http://www.cats.org.uk/uploads/images/featurebox_sidebar_kids/grief-and-loss.jpg" 
 
    data-fancybox="gallery2" 
 
    class="btn btn-default" 
 
    >Show Cat 1</a> 
 
<a href="http://cdn1-www.cattime.com/assets/uploads/gallery/persian-cats-and-kittens/persian-cats-and-kittens-1.jpg" 
 
    data-fancybox="gallery2" 
 
    class="btn btn-default" 
 
    >Show Cat 2</a>

當你剛開業的圖片,然後選擇一個或下一個,都是精細。但是,當你正在做的引導模式窗口同樣的事情...看到瀏覽器控制檯...這是錯誤百出。貌似通過用的fancybox模式的焦點事件,奇怪的是相交的焦點事件。

我的問題是我怎麼能解決這個問題,而不改變庫中的代碼?

+0

我又增加了一個[問題](https://github.com/fancyapps/fancybox/issues/1288)看中框。你可以在那裏查看它的狀態。 –

回答

1

如果您正在使用的fancybox V3,你不需要爲模式功能的任何其他腳本。你可以簡單地使用fancyBox來顯示兩個模態。

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> 
 
<link href="https://gitcdn.xyz/repo/fancyapps/fancybox/master/dist/jquery.fancybox.css" rel="stylesheet" type="text/css" /> 
 
<script src="https://code.jquery.com/jquery-3.1.1.js"></script> 
 

 
<script src="https://gitcdn.xyz/repo/fancyapps/fancybox/master/dist/jquery.fancybox.js" type="application/javascript"></script> 
 

 
<!-- Gallery modal --> 
 

 

 
    <div id="galleryModal" class="modal-content" style="display:none;"> 
 
     <div class="modal-header"> 
 
     <button type="button" class="close" data-fancybox-close aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
     <h4 class="modal-title">Cats Gallery</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 
     <a href="http://www.cats.org.uk/uploads/images/featurebox_sidebar_kids/grief-and-loss.jpg" 
 
      data-fancybox="gallery" 
 
      class="btn btn-default" 
 
      >Show Cat 1</a> 
 
     <a href="http://cdn1-www.cattime.com/assets/uploads/gallery/persian-cats-and-kittens/persian-cats-and-kittens-1.jpg" 
 
      data-fancybox="gallery" 
 
      class="btn btn-default" 
 
      >Show Cat 2</a> 
 
     </div> 
 
    </div> 
 

 

 

 
<button class="btn btn-default" data-fancybox data-options='{"smallBtn":false, "buttons":false}' data-src="#galleryModal">Show cats</button> 
 
<br /> 
 
<br /> 
 
<a href="http://www.cats.org.uk/uploads/images/featurebox_sidebar_kids/grief-and-loss.jpg" 
 
    data-fancybox="gallery2" 
 
    class="btn btn-default" 
 
    >Show Cat 1</a> 
 
<a href="http://cdn1-www.cattime.com/assets/uploads/gallery/persian-cats-and-kittens/persian-cats-and-kittens-1.jpg" 
 
    data-fancybox="gallery2" 
 
    class="btn btn-default" 
 
    >Show Cat 2</a>

+0

謝謝你的建議。但作爲開發人員,我更願意瞭解問題的根源。或者,例如,客戶只有堅持引導模態:) –

+0

這很簡單。 fancyBox和Bootstrap都試圖捕捉焦點。因此,開始循環 - 關閉按鈕獲得焦點內的fancybox - >引導模式試圖獲得焦點 - >的fancybox試圖將焦點設置回 - >引導模式試圖把它找回來 - > .... – Janis