在按键事件上打开jquery fancybox

时间:2012-12-24 05:20:59

标签: jquery fancybox

有人知道如何在按键上打开/启动灯箱(fancybox)而不是点击缩略图吗?例如,如果你点击空格键,灯箱会打开吗?

我对jquery并不熟悉,所以如果答案显而易见,请原谅我。

1 个答案:

答案 0 :(得分:1)

例如,您可以使用以下脚本打开fancybox,按下字母“ F ”:

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

... 我看到的问题是你无法动态传递href(如在链接中),但你必须将其硬编码到脚本中 * [请参阅编辑]

请参阅 DEMO (在按“F”之前,您必须关注“结果”窗口)

为了知道每个keyup返回的密钥编号,您可以添加

console.log(event.keyCode);

...到同一个脚本(在我的演示中被注释掉)

注意:这是使用fancybox v2.1.3进行测试


编辑(2014年3月11日): 您实际上可以将fancybox绑定到常规链接并在 keypress 之后触发该元素上的click,所以有这个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。

参见forked JSFIDDLE