0

サムネイルをクリックするのではなく、キーを押してライトボックス(ファンシーボックス)を開く/開始する方法を知っている人はいますか? たとえば、スペースバーを押すとライトボックスが開きますか?

私はjqueryに精通していないので、答えが明らかな場合はご容赦ください。

4

1 に答える 1

1

次のスクリプトを使用して、たとえば 文字「F 」を押して fancybox を開くことができます。

$(document).keyup(function(event) {
    // open fancybox pressing "F"
    if (event.keyCode === 70) {
        $.fancybox({
            href: "http://fancyapps.com/fancybox/demo/1_b.jpg"
        });
    }
}); //keyup

...私が見る問題は、(リンクのように)動的に渡すことができないがhref、スクリプトにハードコードする必要があるということです* [編集を参照]。

デモを見る(「F」を押す前に「結果」ウィンドウに集中する必要があります)

各 に対して返されるキー番号を知るためにkeyup、追加できます

console.log(event.keyCode);

...同じスクリプトに(私のデモではコメントアウトされています)

:これはfancybox v2.1.3でテストされました


編集(2014 年 3 月 11 日): 実際には fancybox を通常のリンクにバインドし、 keypressclickの後にその要素でa をトリガーすることができるため、次の html があります。

<a class="fancybox" href="image.jpg">open fancybox</a>

あなたができる:

$(document).keyup(function (event) {
    // console.log(event.keyCode);
    // open fancybox pressing "F"
    if (event.keyCode === 70) {
        $(".fancybox").eq(0).trigger("click");
    };
}).ready(function () {
    $(".fancybox").fancybox();
});

「F」を押すか、リンクをクリックすると、fancyboxが起動します。

分岐を見るJSFIDDLE

于 2012-12-24T05:56:12.750 に答える