【发布时间】:2011-12-05 18:10:58
【问题描述】:
这是一个问题 22,我真的不知道如何解决。以我们主持的这款 HTML5 游戏为例:
http://www.scirra.com/arcade/action/93/8-bits-runner - 警告有声音!
页面托管在scirra.com,但出于安全原因,游戏位于static1.scirra.net 的 iframe 中。
现在,如果您在玩游戏时按左、右、上或下,整个窗口会上下、左右滚动。当游戏没有集中注意力时,阻止默认值似乎可以正常工作。我们当然希望在玩游戏时阻止这种默认操作!所以我们使用代码:
var ar = new Array(32, 33, 34, 35, 36, 37, 38, 39, 40, 44);
$(document).keydown(function (e) {
var key = e.which;
if ($.inArray(key, ar) > -1) {
e.preventDefault();
return false;
}
return true;
});
我们把它放在父页面和 iframe 页面上。当 iframe 左右有焦点时似乎被阻止了,但不是up and down。
谁能帮助我们解决如何停止页面滚动,并且仍然允许人们在游戏下方的评论框中键入 cmets?如果你阻止空格键,它会阻止人们在他们的文本中添加空格!
【问题讨论】:
标签: javascript jquery html iframe preventdefault