在发射下键时禁用任天堂3DS滚动功能

Disable Nintendo 3DS Scroll Function while Firing Keydown

本文关键字:任天堂 3DS 滚动 功能 发射下      更新时间:2023-09-26

我一直在尝试在任天堂3DS游戏系统的网页浏览器中创建一个可移动的div。基本上,当我使用+ Control Pad(它与普通键盘的箭头键的键码相对应)时,div会在页面上滑动。不幸的是,由于我的页面尺寸要求太大而无法直接放入3DS视口中,因此浏览器自动滚动的速度比我的div移动到视图中的速度要快。我想出了各种使用overflow: hidden;, position: fixed;

的技术
    $(document).keydown(function(event){
        event.preventDefault();
        //call my function to move the div around
    });
不过,3DS浏览器并没有使用传统的"滚动条";它只是滚动。而且它的position: fixed;支持很差。

有没有人有任何建议如何阻止页面滚动,但允许div移动(并滚动一点,以显示更多的页面时,div击中视口的边缘)?

这是我在stackOverflow上的第一篇文章。谢谢你的建议!!

EDIT:你可以在这里看到代码:Cloud9 IDE链接和在这里的操作:DEMO链接

是的,我在所有的移动设备上都有这个问题。
对我来说,处理移动设备上固定位置的最佳方法是从页面上完全删除滚动功能,并用JavaScript模拟它,然后在新的滚动事件上更改位置。
但是,你也可以创建一个不可移动的页面,只滚动你需要的部分,所以你的元素根本不会移动。

html,body {
    overflow: hidden
}
#divID {
    overflow: auto; // if you want just vertical scroll overflow-y: auto;
}