在jQuery Mobile中使用Photoswipe的错误?弹出窗口在某些情况下不显示

时间:2012-12-21 09:11:31

标签: jquery jquery-mobile photoswipe

我的照片库工作正常,我只有一个问题:

情况1: 在#about上输入#gallery后,我可以点击一张照片,查看并关闭它,然后点击后退按钮,这将我带到#about。 #about包含一个可以查看的弹出图像。这样一切正常

情况2: 在#about上输入#gallery后,会有所有可用的照片。但是当我没有点击一个并且只是点击后退按钮时,这会将我带到#about,弹出窗口将无法显示,尽管浏览器网址会将& ui-state =对话框添加到网址

这很奇怪。这是我的照片ws代码:

(function(window, $, PhotoSwipe){

$(document).ready(function(){

    $('div.gallery-page')
        .live('pageshow', function(e){

            var 
                currentPage = $(e.target),
                options = {},
                photoSwipeInstance = $("ul.gallery a", e.target).photoSwipe(options,  currentPage.attr('id'));

            return true;

        })

        .live('pagehide', function(e){

            var 
                currentPage = $(e.target),
                photoSwipeInstance = PhotoSwipe.getInstance(currentPage.attr('id'));

            if (typeof photoSwipeInstance != "undefined" && photoSwipeInstance != null) {
                PhotoSwipe.detatch(photoSwipeInstance);
            }

            return true;

        });

});

}(window, window.jQuery, window.Code.PhotoSwipe));

photswipe的

  • 元素将以这种方式添加:

    $('#galleryContent').append('<li><a href="XXX" rel="external"><img src="XXX" width="150"  /></a></li>');
    

    这是画廊:

    <div data-role="page" id="gallery" class="gallery-page" data-add-back-btn="true">
    
    <div data-role="header" data-theme="b">
        <h1>Images</h1>
    </div>
    
    <div data-role="content" data-theme="a">    
    
        <ul class="gallery" id="galleryContent">    
        </ul>
    
    </div>
    
    <div data-role="footer" data-theme="b">
        <h4>xxx</h4>
    </div>
    

  • 1 个答案:

    答案 0 :(得分:0)

    此问题已在https://github.com/codecomputerlove/PhotoSwipe的PhotoSwipe主版本中修复。

    下载主版本并运行build.sh脚本以生成版本3.0.5.1。