0

我对 Fancybox 2 有疑问。当 Fancybox 处于画廊模式并且我用焦点(键盘输入键)关闭 Fancybox 时,它会移动到第二张图像。我无法使用键盘(ESC 除外)关闭我的 Fancybox,它只能使用鼠标。

你可以在这里测试这个http://jsfiddle.net/korigan/qfxZd/2/

$('.fancybox').click(function(){
       focusLink = this;
   }).fancybox({
    beforeLoad: function() {
        $('a, input, button').attr('tabIndex', -1);
        $('.fancybox-overlay a, .fancybox-overlay button, .fancybox-overlayinput').attr('tabIndex', 0);
    },
    afterClose: function() {
        focusLink.focus();
        $('a, button, input').attr('tabIndex', 0);
    },
});

谢谢你的帮助。

4

1 回答 1

0

Fancybox 可以keys选择设置特定按键的行为....键的默认设置enter是导航到next图库的图像left。您可以通过声明要移动到图像的键集并省略数值 = )来覆盖此行为,以便将其从堆栈中删除,如下所示:nextenter13

keys: {
    next: {
     // 13: 'left', // enter key will do nothing (left is default behavior)
        34: 'up', // page down
        39: 'left', // right arrow
        40: 'up' // down arrow
    }
}

此外,您可以在相同的选项中设置关闭fancybox的enter键,例如:

keys: {
    close: [13], // enter key now closes fancybox
    next: {
     // 13: 'left', // enter doesn't show next image from left
        34: 'up', // page down
        39: 'left', // right arrow
        40: 'up' // down arrow
    }
}

... 见JSFIDDLE

于 2013-03-07T09:06:58.253 回答