想象一下HTML表单并加载了jQuery库。我希望如果有人当前没有专注于表单字段,并且他们单击Esc键,会弹出一个对话框,询问他们是否要关闭表单窗口(因为表单窗口作为新选项卡打开)
如果我尝试在$(文档)上捕获它,我遇到的麻烦就是事件冒泡,其中字段选择了这个,因此在字段中按Esc键会导致事件触发。
当没有字段具有焦点时,如何有效地(关键字)阻止事件气泡并在按下Esc时捕获?
答案 0 :(得分:1)
答案 1 :(得分:0)
试试这个:
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;