相关疑难解决方法(0)

如何使用纯JS或jQuery检测转义键?

可能重复:
使用jQuery的escape key的哪个键代码

如何在IE,Firefox和Chrome中检测转义按键?下面的代码适用于IE和警报27,但在Firefox中它会发出警报0

$('body').keypress(function(e){
    alert(e.which);
    if(e.which == 27){
        // Close my modal window
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery keyevent jquery-events

493
推荐指数
8
解决办法
46万
查看次数

如何检测页面何时退出全屏?

我正在使用Three.js创建一个3D多人游戏,玩家可以加入各种现有游戏.单击"播放"后,渲染器将附加到页面和全屏幕.这很好用,但问题是,当我退出全屏时,它仍然保持附加状态.我想删除它,但我不知道什么时候!

所以,基本上,我正在寻找一个事件,说"这个元素退出全屏".

这是我将渲染器附加到页面的方式:

container = document.getElementById('container');
document.body.appendChild(container);

var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize( WIDTH, HEIGHT);
container.appendChild( renderer.domElement );
Run Code Online (Sandbox Code Playgroud)

如果我全屏显示它:

THREEx.FullScreen.request(container); 
renderer.setSize(screen.width, screen.height);
Run Code Online (Sandbox Code Playgroud)

此外,有没有办法阻止任何人将鼠标指向页面顶部时出现恼人的标题?而且,我想我可以阻止逃脱它在Firefox和Chrome中的功能(退出全屏)preventDefault

而且,有谁知道为什么Firefox在3D渲染中比Chrome慢得多?我的意思是,我正在使用WebGL,这意味着正在使用GPU!

编辑:

"fullscreenchange"事件确实被触发了,但它在不同的浏览器下有不同的名称.例如,在Chrome上它被称为"webkitfullscreenchange",在Firefox上它是"mozfullscreenchange".

html javascript browser fullscreen webgl

56
推荐指数
5
解决办法
5万
查看次数

退出全屏后未触发 JavaScript 'keyUp' 事件

我有一个非常奇怪的keyUp事件行为。附上JS片段。在 Chrome/Chromium 上测试。

重现步骤:

  1. F11全屏
  2. 按下A键(保持按下状态)
  3. F11退出全屏
  4. 松开A

结果 - 控制台中没有输出行!这是为什么?我希望看到一些东西,但似乎退出全屏会禁用未来的 keyUp 事件。在我的情况下,我通过按一个键开始工作,并且需要在释放后停止它。目前它继续运行。

问题是 - 我如何让它工作?

这可能是 Chrome/Chromium 的错误吗?我现在已经尝试过 Firefox - keyup事件已成功触发。

i = 0;

window.addEventListener("keyup", function() {
    console.log("key up, " + i);
    i = i+1;
});
Run Code Online (Sandbox Code Playgroud)

javascript fullscreen keyup

5
推荐指数
1
解决办法
498
查看次数