我有一个网页,可以在网格中加载100个缩略图,类似于Google图片搜索。
这可能需要几秒钟才能完整加载整个页面和图像。
有时候,根据具体情况,我会在第一次使用Jquery UI对话框查看页面时(在document.ready上)弹出一个对话框。
对话框和弹出框通常具有Escape键关闭它们的功能。
然而,我遇到了一个小问题。
如果我在文档准备就绪时弹出一个对话框,并且用户快速按Escape关闭对话框,浏览器将捕获转义键,如果缩略图仍在加载,则取消加载,然后这些图像显示为断开的链接
据我所知,转义键基本上是在做一个浏览器'停止'。但是,如果我加了一个对话框,我还能“禁用”吗?
我试过拦截按键,但似乎不可能阻止浏览器执行它的操作,当按下escape并且仍在加载时。即使我从对话框按键事件发送preventDefault或stopPropagation。
答案 0 :(得分:2)
将自己附加到文档keydown事件并阻止默认行为。
document.onkeydown = function (event) {
if (event.keyCode === 27) {
event.preventDefault();
}
}