CSS画廊对键盘做出反应

时间:2015-03-14 18:44:09

标签: javascript jquery html css keyboard

我最近制作了一个基本的html / css galery实际上是一个带有下一个/上一个按钮的表。我想让它对键盘做出响应。就像任何人按下键盘上的“左”按钮一样,它应该继续上一张照片,如果它点击“右”按钮,请转到下一页。 我很乐意,如果你能用尽可能少的javascript / jquery来制作它。我搜索谷歌这样的东西,但我还没有找到! 如果您需要我网站的任何代码,请告诉我。 请帮忙!

2 个答案:

答案 0 :(得分:0)

您可以使用.on()keydown 事件捕获键盘交互,并决定在返回值之后要执行的操作,如:

$(document).on("keydown", function (e) {
    e.preventDefault();
    var code = e.which || e.keyCode;
    console.log(code)
    if (code == 40) {
        // down arrow pressed : do something
        console.log("down arrow pressed")
    }
});

参见 JSFIDDLE

导航箭头的键盘地图是

// 37 = left arrow
// 38 = up arrow
// 39 = right arrow
// 40 = down arrow

编辑:为避免过度使用if else if else,您可以使用switch(表现更好),例如:

$(document).on("keydown", function (e) {
    e.preventDefault();
    var code = e.which || e.keyCode;
    switch (code) {
        case 37:
            console.log("left arrow pressed")
            break;
        case 38:
            console.log("up arrow pressed")
            break;
        case 39:
            console.log("right arrow pressed")
            break;
        case 40:
            console.log("down arrow pressed")
            break;
        default:
            return false
    }
});

查看更新的 JSFIDDLE

答案 1 :(得分:0)

JFK的回答是正确的,但我延长了一点

$(document).on("keydown", function (e) {
    var code = e.which || e.keyCode;
    if (code == 40 || code == 39) { // down & right
        // replace selector with your button id/class
        $('.btn-next').click();
    } else if (code == 38 || code == 37) { // up & left
        // replace selector with your button id/class
        $('.btn-previous').click();
    }
});

该代码模拟了对下一个/上一个按钮的单击,因此您可以放置​​在单击或仅按一次键时应该发生的任何代码。