当div元素可见时检测按键

时间:2012-10-23 14:14:43

标签: jquery gallery lightbox keypress

我正在创建一个灯箱库窗口小部件,现在我需要检测按键并调用一个函数,但只有当#lightbox元素可见时,如果不可见,它应该忽略按键,使用jquery,我尝试了以下内容:

        $("#lightbox").keyup(function(e) {
alert(e.keyCode);
  if (e.keyCode == 27) { alert("a") }   // esc
});

任何消化的人?

2 个答案:

答案 0 :(得分:7)

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

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

http://api.jquery.com/visible-selector/

答案 1 :(得分:1)

您可以使用.is(selector)。它将检查当前选择器是否成立,(如果#lightbox == #lightbox:hidden

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

http://api.jquery.com/is/