10

ページで fancybox を使用していますが、jQuery モーダルというよりもデザイン機能として使用しています。ユーザーがページを閉じることができないようにしようとしています (ページのデザインが「壊れる」ため)。ユーザーがfancyboxをクリックするのをなんとか止めましたが、Escキーが押されたときに閉じるのを止めるのに苦労しています。試してみ'closeOnEscape': falseましたが、これはうまくいかないようです。以下は私のコードです。私が間違っていること、または何をする必要があるかについて何か提案はありますか?

$(document).ready(function () {
    $.fancybox({
        'width': '340px',
        'height': '100%',
        'autoScale': true,
        'transitionIn': 'none',
        'transitionOut': 'none',
        'type': 'iframe',
        'href': 'form.php',
        'hideOnContentClick': false,
        'closeBtn' : false,
        'helpers' : { 
            'overlay' : {
                'closeClick': false,
            }
        }
    });
});
4

3 に答える 3

16

fancyBox docskeysからオプションを確認してください:

keys
ギャラリーのナビゲーション、閉じる、スライドショー
オブジェクトのキーボード キーを定義します。デフォルト値:

{
    next : {
        13 : 'left', // enter
        34 : 'up',   // page down
        39 : 'left', // right arrow
        40 : 'up'    // down arrow
    },
    prev : {
        8  : 'right',  // backspace
        33 : 'down',   // page up
        37 : 'right',  // left arrow
        38 : 'down'    // up arrow
    },
    close  : [27], // escape key
    play   : [32], // space - start/stop slideshow
    toggle : [70]  // letter "f" - toggle fullscreen
}

close値を にマップするだけnullです。


fancyBox2 を使用している場合は、次のプロパティをコードに追加します。

$.fancybox({
  // all your other options here
  ...,
  keys : {
    close  : null
  }
}
于 2013-01-04T13:45:48.487 に答える
2

@ moonwave99 は fancybox2 の正解を持っています。v1.3+ を使用している場合は、次を使用する必要があります。

enableEscapeButton: false

参照: http://fancybox.net/api

于 2013-01-04T13:52:32.463 に答える
1

他の人がコメントで述べたように、modal: true完全に機能します...

$.fancybox({
    modal: true
});

ドキュメントから...

modal - true に設定すると、ナビゲーションと終了が無効になります。

于 2016-04-20T07:03:11.213 に答える