我想使用java-script或jQuery禁用全键盘键。 和 是否可以使用PHP脚本禁用键盘?
答案 0 :(得分:11)
试试这个
document.onkeydown = function (e) {
return false;
}
针对特定区域尝试此
$(".class").keydown(function(event) {
return false;
});
答案 1 :(得分:1)
虽然取消 keydown
效果适用于 大多数 开箱即用的键,但一些特殊组合(例如 Ctrl+R 用于重新加载,Ctrl+T 用于新标签等)不能以这种方式被阻止,而是总是发送到浏览器。
新的(并且在撰写本文时是实验性的)Keyboard Lock API 允许您捕获这些类型的按键。你可以像这样使用它,或者如果你只想锁定其中的一些,你也可以传入一组键码。
navigator.keyboard.lock();
完成后,您可以打电话
navigator.keyboard.unlock();
停止捕获这些关键代码。
请注意,您仍然需要监听和响应 keydown
事件 - 新 API 允许您捕获这些较低级别的按键操作,但您仍然需要定义当它们发生时会发生什么“重新按下。
在您的情况下,这只是取消事件(以 @Harish Singh's answer 的样式),但其他用例将涉及在按下某些键组时执行其他操作,可能会关闭在您的网络中打开的文档使用 Ctrl+W 而不是选项卡的应用程序,或者在全屏游戏中按下 Esc 时打开暂停菜单,而不是退出全屏。
您今天可以try the Keyboard Lock API,但 browser support 目前仅限于桌面版 Chrome 和其他 Chromium 浏览器(Edge 和 Opera)。
最后一个注意事项是,出于安全原因,用户始终可以通过浏览器手势退出键盘锁定,以防止他们被困(如果您将其与 Pointer Lock API 结合使用,可能会发生这种情况)。在 Chrome 中,此退出手势是按住Esc 键 2 秒。
答案 2 :(得分:-1)
试试这个。
$(document).keypress(function(e) {
return false;
});