Jquery 当div元素可见时检测按键

Jquery 当div元素可见时检测按键,jquery,gallery,lightbox,keypress,Jquery,Gallery,Lightbox,Keypress,我正在制作一个light box gallery小部件,现在我需要检测按键并调用函数,但只有当#lightbox元素可见时,如果不可见,它应该忽略按键,使用jquery,我尝试了以下操作: $("#lightbox").keyup(function(e) { alert(e.keyCode); if (e.keyCode == 27) { alert("a") } // esc }); 有什么好建议的吗 if ($('#lightbox:visible').length

我正在制作一个light box gallery小部件,现在我需要检测按键并调用函数,但只有当
#lightbox
元素可见时,如果不可见,它应该忽略按键,使用jquery,我尝试了以下操作:

        $("#lightbox").keyup(function(e) {
alert(e.keyCode);
  if (e.keyCode == 27) { alert("a") }   // esc
});
有什么好建议的吗

if ($('#lightbox:visible').length && e.keyCode==27) {

您可以使用
.is(选择器)
进行此操作。它将检查当前选择器是否有效,(if#lightbox==#lightbox:hidden

$("#lightbox").keyup(function (e) {
    if($("#lightbox").is(":visible")) {
        ... //your code hear
    }
});

$("#lightbox").keyup(function (e) {
    if($("#lightbox").is(":visible")) {
        ... //your code hear
    }
});