我有一个问题,防止空间和箭头向下/向上滚动,当游戏集中在一个在线游戏网站的孩子。
要在网页上防止这个功能,我知道,我们可以使用:
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();
}
});