防止空格和箭头滚动[游戏Iframe]



我有一个问题,防止空间和箭头向下/向上滚动,当游戏集中在一个在线游戏网站的孩子。

要在网页上防止这个功能,我知道,我们可以使用:

window.addEventListener("keydown", function(e) {
if(["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code) > -1) {
e.preventDefault();
}
}, false);

但是,问题是当游戏集中时。

游戏通过iframe镜像,一旦用户点击游戏,游戏iframe将聚焦,上面的code将不再工作。

当然,这是令人沮丧的,因为我们有一些游戏,你需要使用空格或上下箭头来移动,跳跃或其他东西-但每当你按下这些按钮,页面就会开始滚动。

页面的例子:

...
<body>
<iframe src="https://example.com/game/game21/index.html" width="X" height="Y"></iframe>
...

我没有权利修改src页面。

您缺少e.stopPropagation();。试试这个:

window.addEventListener("keydown", function(e) {
if(["Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code) > -1) {
e.preventDefault();
e.stopPropagation();
}
});

最新更新