3

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

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

有什么建议吗?

4

2 回答 2

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

或者

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

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

于 2012-10-23T14:15:25.923 回答
1

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

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

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

于 2012-10-23T14:24:48.487 回答