我正在使用jQuery UI来显示一个对话框。我已经使用div作为背景窗口禁用了页面背景的选择,该窗口具有一些不透明度。该对话框有一个关闭按钮,以便在关闭按钮时关闭它,同时隐藏背景窗口。现在,当我按下退出键时,对话框将关闭,但背景仍然显示。如何关闭背景以及单击转义键。
$("#open").click(function(){
$(".dialog").dialog("open");
$(".bg-opacity").fadeIn();
});
$("#close").click(function(){
$(".dialog").dialog("close");
$(".bg-opacity").fadeOut();
});
由于
答案 0 :(得分:0)
抓住转义键keydown并调用close click函数。试试这个:
$(document).keydown(function(e) {
if (e.keyCode == 27) {
$("#close").click()
}
});
编辑:虽然可以在整个文档中捕获转义,如我的示例最初所做的那样,最好只在对话框打开时捕获转义,以防止在整个文档上不断捕获转义。 / p>
$(NAME_OF_POPUP_DIALOG).keydown(function(e) {
if (e.keyCode == 27) {
$("#close").click()
}
});
这可能需要您将tabindex="0"
属性添加到对话框div中,以允许它具有焦点并检测keydown。
答案 1 :(得分:0)
尝试,捕获转义并关闭对话框:
$(document).keydown(function(e) {
if (e.keyCode == 27) {
$(".dialog").dialog("close");
$(".bg-opacity").fadeOut();
}
});