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)。現在のセレクターが保持されているかどうかを確認します (if #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 に答える