我有一个非常简单的游戏页面,我在iframe中有游戏。当我在iframe中玩游戏时,我想禁用主页上的滚动。我尝试了溢出:隐藏,但它禁用完全滚动,这是无用的。在iframe中玩游戏时禁用滚动父页面
当页面长于屏幕时,按下向下箭头可向下滚动页面,并且使游戏无法播放。
有没有基本的方法来禁止在播放过程中的滚动?
游戏输入监听:
/*
This simply library keeps the state of the currently
pressed keys by using keydown and keyup event handlers.
*/
(function() {
var pressedKeys = {};
function setKey(event, status) {
var code = event.keyCode;
var key;
switch(code) {
case 32:
key = 'SPACE'; break;
case 37:
key = 'LEFT'; break;
case 38:
key = 'UP'; break;
case 39:
key = 'RIGHT'; break;
case 40:
key = 'DOWN'; break;
default:
// Convert ASCII codes to letters
key = String.fromCharCode(code);
}
pressedKeys[key] = status;
}
document.addEventListener('keydown', function(e) {
setKey(e, true);
e.stoppreventDefault();
});
谢谢您的帮助!
?你想'overflow:hidden'是暂时的(只在播放时)? –
是的,我想只在播放时才禁用它当页面长于屏幕(注释等)时,按下向下箭头将页面向下滚动,并使游戏无法播放。 – p3y4m
考虑在向下箭头事件处理程序中使用['stopPropagation'](https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation)来停止事件到达更高级别的容器(即'窗口')。 – arcyqwerty