因此,当用户点击带有图库的图像并决定查看图像并关闭图库时,浏览器窗口会将他带到页面顶部。这对于可访问性不利。焦点应该移动回到它在页面中的原始位置。
你有什么想法可能导致什么以及如何控制焦点?我认为这与图库添加的URL哈希有关吗?
到目前为止我检查过的内容......
Photoswipe docs - 更改选项> history- false:没有帮助:(
我必须尝试附加一个监听器并手动设置焦点:它没有听:(
var pswp = new PhotoSwipe(/* ... */);
pswp.listen('close', function() { console.log'check 123';});
答案 0 :(得分:0)
我在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);
}
}); };