这是一个我无法解决的进退两难局面。以我们托管的HTML5游戏为例:http://www.scirra.com/arcade/action/93/8-bits-runner(警告有声音!)该页面托管在scirra.com上,但由于安全原因,游戏在static1.scirra.net的iframe中展示。现在,当您在玩游戏时按左、右、上或下方向键时,整个窗口会上下或左右滚动。当游戏未获得焦点时,preventDefault功能似乎正常工作。当然,在玩游戏时我们希望阻止这种默认操作!因此,我们使用以下代码:
我们需要在父页面和 iframe 页面上添加此代码。当 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 获得焦点时,左右滚动似乎被阻止了,但是上下滚动没有受到影响。有人能帮助我们找出如何停止页面滚动的方法,并仍然允许人们在游戏下方的评论框中输入评论吗?如果您阻止空格键,则会阻止用户在文本中添加空格!