0

Fancybox 2 に問題があります。Fancybox がギャラリー モードのときに、Fancybox をフォーカス (キーボードのエンター キー) で閉じると、2 番目の画像に移動します。Fancybox をキーボード (ESC を除く) で閉じることができません。マウスでしか機能しません。

ここでこれをテストできます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の画像に移動することです。この動作をオーバーライドするには、画像に移動するキーのセットを宣言し、キー(数値= )を省略して、次のようにスタックから削除します。nextleftnextenter13

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 に答える