我正在使用
$(document).keydown(function (event) {
alert(event.keyCode);
});
此功能在页面加载时效果很好..现在当我点击页面的任何部分然后当我按任意键时,此事件未触发且警报未到来..
为什么?
答案 0 :(得分:2)
jsfiddle.net/5cyqC/3点击此处,然后点击其他任何地方的服务器错误...然后查看
您将焦点设置为iframe的内容。
这是一个单独的文档,事件不会冒出来进入父文档。
如果要从中捕获事件,则需要将事件处理程序绑定到框架中加载的文档。
有关在相同的原始政策阻止正常通信时跨iframe进行通信的问题,请参阅this question。
请注意,没有办法只从一方面解决它,因为这将是一个主要的安全漏洞。 (例如,有人可以在一个框架中放置一个银行网站,然后在银行的表单中监听按键事件以窃取密码。)