因此,当用户点击带有图片库的图片并决定查看图片并关闭图片库时,浏览器窗口会将他带到页面顶部。这对可访问性不利。焦点应移回到其在图片库中的原始位置页。

您有什么想法会导致什么以及如何控制焦点吗?我认为这与图库添加的URL哈希有关吗?

到目前为止我检查过的...

Photoswipe文档-更改的选项>历史记录-否:没有帮助:(

我必须尝试附加一个监听器并手动设置焦点:它没有监听:(

 var pswp = new PhotoSwipe(/* ... */);
 pswp.listen('close', function() { console.log'check 123';});

最佳答案

我在Cordova和iOS上也遇到了同样的问题。

首先按照http://photoswipe.com/documentation/getting-started.html上的示例,然后搜索带有注释的行

//将数据传递给PhotoSwipe并对其进行初始化

在调用方法“ gallery.init()”之后,添加下一个代码

gallery.listen('close', function() {
// Here use something for detect the device or just delete the IF
if (isIOS) {
    //if iOS scroll to img/element
    var _top = $(this.currItem.el).offset().top - 100;
    setTimeout(function() {
        $('html, body').stop().animate({
            scrollTop: _top
        }, 500);
        //$.mobile.silentScroll(_top);
    }, 500);
}});


最终代码。

var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) {

// ...
// ...

// Pass data to PhotoSwipe and initialize it
gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
gallery.init();

gallery.listen('close', function() {
    // Here use something for detect the device or just delete the IF
    if (isIOS) {
        //if iOS scroll to img/element
        var _top = $(this.currItem.el).offset().top - 100;
        setTimeout(function() {
            $('html, body').stop().animate({
                scrollTop: _top
            }, 500);
            //$.mobile.silentScroll(_top);
        }, 500);
    }
}); };

关于javascript - Photoswipe画廊关闭后如何控制焦点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42727384/

10-13 05:59