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);