我有一個非常簡單的遊戲頁面,我在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