Jquery 按下escape键时如何隐藏元素?

Jquery 按下escape键时如何隐藏元素?,jquery,Jquery,我找到了以下脚本,用于创建在另一个页面中打开的覆盖: <script> $("a#selector").live("click", function(){ $(".overlayInner").load("logwork_form.php", // the following is the callback function(){$(".overlayOuter").fadeIn(300); }); }); <

我找到了以下脚本,用于创建在另一个页面中打开的覆盖:

<script>
    $("a#selector").live("click", function(){
        $(".overlayInner").load("logwork_form.php",
        // the following is the callback   
        function(){$(".overlayOuter").fadeIn(300); });
    });
</script>
由于未定义“close()”,并且缺少一个括号

$(document).keyup(function(e) {
    if (e.which == 27) {
        $(".overlayInner").fadeOut(300); 
    }
});

尝试下面的代码以获取密钥代码,然后放置一个if块以获取转义密钥代码

   var keycode = (event.keyCode ? event.keyCode : event.which);

上面这一行适用于所有主要浏览器。

请停止使用
.live()
,它已经被弃用很久了。使用
.on()
(jQuery 1.7+)或
.delegate()
。关于您的问题,什么是
.close()
方法?它是在哪里定义的?close方法它没有定义,因为我不知道hot to。。。。我对jquery知之甚少……您希望
.close()
方法做什么?为什么要向它传递URL?另外,一个好的开始可能是修复各种语法错误(缺少右括号,括号在错误的位置)。应该使用
close()
方法隐藏外层。所有的代码都用于预先生成一个表单,以便在db中存储一些数据。另外,请举例说明如何修改上述函数以使用
.on()
,因为我试图修改
$(“a#选择器”)。on(“单击”,function(){..}
它不再工作了jQuery规范化了,所以你可以直接使用它。谢谢,它工作得很好。我做了一些修改,但是IDEA很棒$(document).keyup(函数(e){if(e.keyCode==27){$(“.overlayOuter”).fadeOut(300);});与jQuery一起使用
e.which
,跨浏览器更友好
   var keycode = (event.keyCode ? event.keyCode : event.which);