W3学校灯箱jquery添加键绑定

时间:2017-06-24 14:55:10

标签: javascript jquery html w3c

我正在尝试将键绑定添加到例如灯箱(link) 但是,尽管我尝试了,但我无法让它发挥作用。有任何想法的人吗?

我知道我必须在JS中这样做而且我知道左和右的键码。但我对JS很陌生,我不明白我应该在哪里做这个功能,以及如何让它连接到next / prev。

然后我希望能够让ESC作为一个接近的功能。 任何帮助将不胜感激。

原始版本:

function plusSlides(n) {
showSlides(slideIndex += n);
}

到目前为止,我的版本不知道我是否走在正确的轨道上:

function plusSlides(n) {
            window.onkeydown = keydown;
            function keydown(e){
                if(e.which == 37 && next)
            }
            showSlides(slideIndex += n);
        }

从原始文本中得到了想法:

<a class="prev" onclick="plusSlides(-1)">&#10094;</a>
      <a class="next" onclick="plusSlides(1)">&#10095;</a>

在这个社区的帮助下:

document.onkeydown = function (e) {
   e = e || window.event;
   if(e.keyCode === 39) {
       showSlides(slideIndex +=1);
   } else if(e.keyCode === 37) {
       showSlides(slideIndex -=1);
   } else if(e.keycode === 27) {
      closeModal();
   }

};

奇怪的是,不会逃避工作。我也尝试过使用keyup。

1 个答案:

答案 0 :(得分:0)

document.onkeydown = function (e) {
    e = e || window.event;
    if(e.keyCode === 39) {
        showSlides(slideIndex +=1);
    } else if(e.keyCode === 37) {
        showSlides(slideIndex -=1);
    } else if(e.keyCode === 27) {
        closeModal();
    }
};

这样可行,它不能进入​​函数内部,因为你想要一直捕获实际的按键。您还需要做一些事情,比如确保模态在捕获按键之前实际打开,否则每次有人在您的站点上键入密钥时,此代码就会运行。

记录46是句号,44是逗号