想象一个 HTML 表单并加载了 jQuery 库。我希望这样,如果某人当前没有专注于表单字段,并且他们单击 Esc 键,则会弹出一个对话框询问他们是否要关闭表单窗口(因为表单窗口作为新选项卡打开) .
如果我尝试在 $(document) 上捕获它,我遇到的问题是事件冒泡,字段拾取它,因此在字段中按下 Esc 键会导致事件触发。
当没有字段具有焦点时按下 Esc 时,如何有效地(关键字)防止事件冒泡并捕获?
想象一个 HTML 表单并加载了 jQuery 库。我希望这样,如果某人当前没有专注于表单字段,并且他们单击 Esc 键,则会弹出一个对话框询问他们是否要关闭表单窗口(因为表单窗口作为新选项卡打开) .
如果我尝试在 $(document) 上捕获它,我遇到的问题是事件冒泡,字段拾取它,因此在字段中按下 Esc 键会导致事件触发。
当没有字段具有焦点时按下 Esc 时,如何有效地(关键字)防止事件冒泡并捕获?
试试这个 :
var cancelClose=false; // This is a global variable
$(document).ready(function(){
$('input, textarea,select').each(
function(){
$(this).focus(
function(){
cancelClose=true;
}
);
$(this).blur(
function(){
cancelClose=false;
}
);
}
);
});
然后,在文档键按下事件
说 :
if (cancelClose)
return false;